🔍 CVE-2024-46800

7.8
CVSS Score
HIGH
2024-09-18
2026-08-04 11:20
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 sch/netem 구성 요소에서 netem_dequeue 함수 호출 시 Use-After-Free(UaF) 취약점이 발견되었습니다. 패킷이 드롭될 때 qdisc_tree_reduce_backlog()가 호출되지 않아 부모 qdisc의 q.qlen이 업데이트되지 않는 것이 원인입니다.

💡 쉬운 설명

네트워크 패킷을 처리하는 과정에서 메모리 관리 오류가 발생하여, 이미 사용이 끝난 메모리 영역에 다시 접근할 수 있는 보안 약점입니다. 이를 통해 공격자가 시스템을 중단시키거나 권한을 탈취할 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: sch/netem: fix use after free in netem_dequeue If netem_dequeue() enqueues packet to inner qdisc and that qdisc returns __NET_XMIT_STOLEN. The packet is dropped but qdisc_tree_reduce_backlog() is not called to update the parent's q.qlen, leading to the similar use-after-free as Commit e04991a48dbaf382 ("netem: fix return value if duplicate enqueue fails") Commands to trigger KASAN UaF: ip link add type dummy ip link set lo up ip link set dummy0 up tc qdisc add dev lo parent root handle 1: drr tc filter add dev lo parent 1: basic classid 1:1 tc class add dev lo classid 1:1 drr tc qdisc add dev lo parent 1:1 handle 2: netem tc qdisc add dev lo parent 2: handle 3: drr tc filter add dev lo parent 3: basic classid 3:1 action mirred egress redirect dev dummy0 tc class add dev lo classid 3:1 drr ping -c1 -W0.01 localhost # Trigger bug tc class del dev lo classid 1:1 tc class add dev lo classid 1:1 drr ping -c1 -W0.01 localhost # UaF

📍 영향받는 시스템

Linux Kernel (netem 모듈을 사용하는 환경)

⚔️ 공격 벡터

특정 네트워크 트래픽 제어(tc) 설정을 구성하여 패킷 드롭을 유도함으로써 메모리 오류를 발생시킴

🛡️ 대응 방법

리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel