[단독공격] 분석 — CVE-2024-36927
CVE-2024-36927 is a local race condition in __ip_make_skb() that can cause uninitialized memory access leading to kernel instability, and the immediate mitigation is to apply the upstream patches for affected kernels.
📋 요약
- 심각도 medium · CVSS 4.7 · EPSS 0.00166 · 악용난이도 hard
🔍 공격 기법
- 트리거 조건: 로컬 사용자가
setsockopt(sock, IPPROTO_IP, IP_HDRINCL, …)로 IP_HDRINCL 옵션을 동적으로 토글하면서 동시에 같은 소켓에sendmsg()/raw_sendmsg()로 raw IPv4 패킷을 전송할 때 발생한다. - 공격 흐름
1️⃣ 정찰 – 시스템에 raw socket(예:/dev/raw또는 AF_INET, SOCK_RAW) 사용 가능 여부와 SELinux/AppArmor 정책을 확인한다.
2️⃣ 초기 접근 – 로컬 계정(일반 사용자 권한) 확보 후 raw socket을 열고 IP_HDRINCL 옵션을 설정한다.
3️⃣ 실행·권한 획득 – 다중 스레드/프로세스로setsockopt(IP_HDRINCL)을 빠르게 토글하면서 동시에sendmsg()를 호출해 __ip_make_skb() 내부에서 HDRINCL 플래그가 변하는 레이스를 유도한다.
4️⃣ 지속 – 성공 시 커널 패닉(OOPS) 또는 메모리 손상으로 시스템 가용성이 중단되므로, 지속적인 서비스 거부(DoS)를 위해 해당 레이스를 주기적으로 재현한다. - 전제 조건·관측 지표
- 로컬 접근 권한(L) 및 높은 복잡도(H) 요구 → 타이밍 정확도가 핵심.
setsockopt(IP_HDRINCL)호출 로그와raw_sendmsg호출이 거의 동시에 발생하면 탐지 가능.
- 공격 표면 –
setsockopt(2)의 IP_HDRINCL 파라미터,sendmsg()/raw_sendmsg()에 전달되는 skb 구조체, 커널 내부 플래그FLOWI_FLAG_KNOWN_NH. - CVSS 벡터와 실제 조건 매핑: AV:L (로컬), AC:H (정밀 레이스 필요), PR:L (일반 사용자), UI:N (자동 실행).
💥 영향 분석
- 성공 시 커널이 비정상적인 메모리 값을 읽어 패닉을 일으키며, 시스템 가용성이 상실된다(A:High).
- 데이터 무결성이나 권한 상승은 보고되지 않았으며, 주된 위험은 서비스 거부(DoS)이다.
🔗 관련 취약점·체이닝
- 유형: 레이스 조건에 의한 초기화되지 않은 메모리 접근 (CWE‑362 / CWE‑457).
- 가능한 체인: 동일 호스트 내 다른 로컬 권한 상승 취약점(예: CAP_NET_RAW 를 요구하는 CVE)과 결합하면, DoS 이후 재부팅 시 자동 실행 스크립트를 삽입해 영구적인 침투를 도모할 수 있다.
- 추정: 현재 보고된 다른 커널 취약점과 직접 연계된 사례는 없지만, 동일한 raw socket 사용 경로를 노리는 권한 상승 버그와 조합될 경우 영향이 확대될 가능성이 있다.
🔎 탐지
dmesg·/var/log/kern.log에서 “KMSAN: uninit-value in __ip_make_skb” 혹은 “BUG: KMSAN” 문자열이 포함된 OOPS 로그를 모니터링한다.- Auditd 규칙으로
setsockopt호출에 IP_HDRINCL 플래그가 설정되는 이벤트와raw_sendmsg호출을 동시에 기록하도록 구성한다. - 시스템 콜 트레이싱(e.g.,
strace -e trace=network) 으로setsockopt(IP_HDRINCL)과sendmsg()의 시간 간격이 짧은 경우 경고를 발생시킨다.
🛡️ 완화 방안
- 패치 적용: 커널 4.14.315‑4.15, 4.19.283‑4.20, 5.4.243‑5.5, 5.10.180‑5.11, 5.15.111‑5.16, 6.1.28‑6.2, 6.2.15‑6.3, 6.3.2‑6.6.31 에 대한 최신 패치를 즉시 배포한다.
- 임시 방어:
sysctl -w net.ipv4.ip_forward=0와 같이 raw IPv4 전송을 제한하거나, SELinux/AppArmor 프로파일에서cap_net_raw권한을 차단한다. - 모니터링 우선순위: 다중 소스 교차검증이 일관성을 보였으며 EPSS 0.00166(실측 악용예측)과 “hard” exploit 등급, KEV 미등재를 근거로 본 보고서는 monitor 수준으로 분류되었지만, 가용성 위협을 감안해 패치 적용을 권고한다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=4.7 · non-KEV · EPSS=0.00166 · exploit=hard · in_scope=None