🇰🇷 한글 설명
Linux 커널의 netfilter ipset 구성 요소에서 발생하는 취약점으로, 테이블 크기 조정 과정 중 메모리 포인터 관리 오류로 인해 발생합니다. 특정 조건에서 잘못된 메모리 해제가 발생하여 stale pointer(유효하지 않은 포인터)를 참조하게 되며, 이는 시스템 충돌이나 보안 위협으로 이어질 수 있습니다.
💡 쉬운 설명
데이터 저장 공간을 늘리는 과정에서 메모리 주소를 잘못 관리하여, 이미 삭제된 메모리 영역을 다시 사용하려고 시도하는 오류입니다. 이로 인해 컴퓨터 시스템이 갑자기 멈추거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
netfilter: ipset: do not update comments from kernel-side hash adds
mtype_resize() copies comment pointers with memcpy(), not the comment
objects themselves. During the window after an entry has been copied but
before the table swap and backlog replay, the old table is still
published for packet-side updates while the replacement-table entry
already holds the same ip_set_comment_rcu pointer.
If xt_SET --add-set ... --exist hits that old entry in this window,
mtype_add() calls ip_set_init_comment() even though packet-side adds
carry no comment payload. That call frees the shared comment through the
old entry, so the replacement-table entry now holds a stale pointer.
When the queued add is replayed on the new table, mtype_add() calls
ip_set_init_comment() again and strlen() dereferences the stale pointer.
Fix this in mtype_add() by skipping ip_set_init_comment() when
ext->target marks a packet-side add. Userspace adds still update
comments, while packet-side adds can no longer free comment storage
shared with a resize copy.
📍 영향받는 시스템
Linux Kernel (netfilter/ipset 구성 요소가 포함된 버전)
⚔️ 공격 벡터
로컬 권한을 가진 사용자가 ipset 테이블 크기 조정과 동시에 특정 xt_SET 명령을 실행하여 메모리 오류 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 최신 패치 버전인지 확인하십시오.
📊 CVSS Vector String
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux