[방어] 분석 — CVE-2025-21758
CVE-2025-21758 is a local privilege escalation in the Linux kernel’s IPv6 multicast handling; the fastest mitigation is to block MLD traffic immediately while awaiting kernel patches.
📋 요약
- 심각도 high · CVSS 7.8 · EPSS 0.13707 · 악용난이도 moderate
🔍 공격 기법
mld_newpack() 함수가 RCU·RTNL 보호 없이 호출될 수 있는 레이스 컨디션을 이용합니다. 로컬 프로세스가 특수히 조작한 ICMPv6 MLD(130‑132) 패킷을 전송하거나, raw AF_INET6 소켓으로 직접 함수를 호출하면 해제된 SKB 버퍼를 재사용하게 되어 커널 메모리 손상·Use‑After‑Free가 발생하고, 결국 루트 권한을 획득합니다. 공격자는 일반 사용자 계정만 있으면 추가적인 인증 없이 수행할 수 있습니다(AV:L/AC:L/PR:L/UI:N).
악용 가능성: 1. CVSS 벡터 AV:L/AC:L/PR:L/UI:N은 공격자가 로컬 시스템에 접근해도 복잡한 사전 조건 없이, 낮은 권한(일반 사용자)만으로 사용자 개입 없이 취약 함수를 호출할 수 있음을 의미합니다.
2. mld_newpack() 함수는 IPv6 멀티캐스트(Multicast Listener Discovery) 처리 흐름에서 RCU 보호 없이 실행되므로, 로컬 사용자는 특수히 조작된 ICMPv6 MLD 패킷을 전송해 메모리 손상(Use‑After‑Free) 상태를 유발할 수 있습니다.
3. EPSS = 0.13707(≈13.7%)은 향후 12개월 내 실제 악용 가능성이 중간 이상임을 보여주며, KEV에 등재되지 않았더라도 이론적 심각도와 별개로 실전 위협이 존재함을 입증합니다.
4. 공격 표면은 IPv6 스택의 멀티캐스트 처리 경로이며, 노출되는 엔드포인트는 커
💥 영향 분석
- 기밀성(C): 루트 권한으로 시스템 전체 파일·키에 접근 가능
- 무결성(I): 커널 메모리 조작을 통해 임의 코드 실행 및 설정 변경 가능
- 가용성(A): 메모리 손상 시 커널 패닉이 발생해 서비스 중단 위험
🔗 관련 취약점·체이닝
IPv6 스택 내 다른 로컬 권한 상승 결함(예: sock_alloc_send_skb 사용 오류)과 연계될 경우 동일 프로세스가 추가적인 네트워크‑관련 권한을 획득하거나, 컨테이너 환경에서 한 노드 침해가 전체 클러스터에 영향을 미칠 수 있습니다.
🔎 탐지
로그 지표
kerneldmesg / syslog:"mld_newpack"문자열과 함께 “RCU” 또는 “use‑after‑free” 경고가 기록됨.auditd: AF_INET6, SOCK_RAW 소켓 생성 시exe=/usr/bin/ping6등 정상 도구 외에 비정상 프로세스가 호출될 경우 이벤트.- Netfilter 로그: ICMPv6 type 130‑132 패킷이 DROP 되면
"MLD_DROP"프리픽스가 남음.
SIEM 규칙 예시
-
Kernel warning rule
- source: syslog
- condition:
message =~ /mld_newpack.*(RCU|use[- ]after[- ]free)/i - filter:
kernel_version < "6.13"(패치가 적용된 버전 제외)
-
Audit raw‑socket rule (Elastic Kibana DSL 예시)
text1{2 "bool": {3 "must": [4 {"term": {"audit.syscall": "socket"}},5 {"term": {"audit.args.a0": "AF_INET6"}},6 {"wildcard": {"process.executable": "*"}}7 ],8 "must_not": [9 {"terms": {"process.executable.keyword": ["/bin/ping6","/usr/bin/traceroute6"]}}10 ]11 }12}- 오탐 튜닝: 정상 네트워크 진단 도구를 화이트리스트에 추가하고,
audit.result가 “success”인 경우 제외.
- 오탐 튜닝: 정상 네트워크 진단 도구를 화이트리스트에 추가하고,
-
Netfilter log rule (Splunk SPL 예시)
text1index=firewall sourcetype=iptables2icmp_type IN ("130","131","132") action="DROP"3| stats count by src_ip, icmp_type- 오탐 시나리오: 내부 관리 네트워크에서 정상 MLD 사용이 있는 경우
src_ip가 관리 VLAN인 경우 알림 레벨을 낮춤.
- 오탐 시나리오: 내부 관리 네트워크에서 정상 MLD 사용이 있는 경우
검증 방법
- 위 규칙 적용 후 24 시간 동안 경보 발생 건수를 확인하고, 정상 서비스 트래픽과 비교해 false‑positive 비율을 <5%로 조정합니다.
dmesg -T | grep mld_newpack로 직접 확인하여 경고가 사라졌는지 검증합니다.
🛡️ 완화 방안
-
Raw socket 제한
- 시스템 전체에
sysctl -w kernel.unprivileged_userns_clone=0와 함께chmod 750 /proc/sys/net/ipv6/conf/*/accept_ra로 비특권 프로세스의 raw IPv6 소켓 생성을 차단하거나, AppArmor/SELinux 정책에서cap_net_raw권한을 제한합니다.
구현 난이도: ★★★☆☆ (정책 작성·배포)
운영 영향: 일부 네트워크 진단 도구가 작동하지 않을 수 있음 → 예외 규칙에 허용 프로세스 추가.
- 시스템 전체에
-
RCU 경고 모니터링 강화
sysctl -w kernel.printk_ratelimit=5로 RCU 관련 로그를 억제하지 않고,dmesg -w | grep -i rcu를 백그라운드에서 실시간 감시하도록 시스템 서비스(rcu-watcher.service)를 배포합니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.8 · non-KEV · EPSS=0.13707 · exploit=moderate · in_scope=None