🇰🇷 한글 설명
Linux 커널의 TIPC 프로토콜 구현 중 tipc_buf_append() 함수에서 이중 해제(double-free) 취약점이 발견되었습니다. tipc_msg_validate() 과정에서 skb가 재할당될 때 기존 포인터가 적절히 갱신되지 않아, 오류 발생 시 이미 해제된 메모리를 다시 해제하려고 시도할 수 있습니다.
💡 쉬운 설명
컴퓨터 메모리를 관리하는 과정에서 이미 사용이 끝난 메모리 공간을 실수로 두 번 지우려고 시도하는 오류입니다. 이로 인해 시스템이 갑자기 멈추거나 해커가 시스템 권한을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
tipc: fix double-free in tipc_buf_append()
tipc_msg_validate() can potentially reallocate the skb it is validating,
freeing the old one. In tipc_buf_append(), it was being called with a
pointer to a local variable which was a copy of the caller's skb
pointer.
If the skb was reallocated and validation subsequently failed, the error
handling path would free the original skb pointer, which had already
been freed, leading to double-free.
Fix this by checking if head now points to a newly allocated reassembled
skb. If it does, reassign *headbuf for later freeing operations.
📍 영향받는 시스템
TIPC 프로토콜이 활성화된 Linux 커널 버전
⚔️ 공격 벡터
조작된 TIPC 메시지를 전송하여 커널의 메모리 관리 로직을 트리거함
🛡️ 대응 방법
TIPC 관련 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 보안 패치가 적용된 버전인지 확인합니다.