[단독공격] 분석 — CVE-2025-21758
The IPv6 multicast handling bug in Linux kernels 2.6.26‑6.13.4 allows a local low‑privilege attacker to trigger an unchecked RCU race via crafted MLD packets, leading to kernel memory corruption and privilege escalation – patch immediately.
📋 요약
- 심각도 high · CVSS 7.8 · EPSS 0.13707 · 악용난이도 moderate
🔍 공격 기법
-
공격 표면: IPv6 네트워크 인터페이스의 멀티캐스트 수신 경로(
ipv6.igmp_sk)와mld_newpack()함수. -
트리거 조건: 로컬에서 실행 중인 프로세스가 임의의 MLD(Multicast Listener Discovery) 패킷을 전송하거나, 외부 네트워크를 통해 해당 호스트에 잘못된 MLD 메시지를 전달할 수 있을 때(IPv6 멀티캐스트가 비활성화되지 않은 경우).
-
단계
- 정찰 –
uname -r등으로 커널 버전을 확인하고, 취약 범위(2.6.26‑5.15.179,5.16‑6.1.129,6.2‑6.6.79,6.7‑6.12.16,6.13‑6.13.4)에 포함되는지 판단합니다. - 초기 접근 – 로컬 사용자 권한(Low) 혹은 컨테이너/네임스페이스 탈출 시나리오에서 임의 코드를 실행합니다(예: 일반 사용자 계정).
- 실행·권한 획득 – 조작된 MLD 패킷을
ipv6.igmp_sk에 전달하여mld_newpack()이 RCU 보호 없이 호출되도록 유도합니다. 이때alloc_skb()가 RCU 하에서 수행되지만, 기존 코드에서는sock_alloc_send_skb()를 사용해 잠재적 슬립을 방지하지 않아 레이스가 발생합니다. - 커널 메모리 손상 – 경쟁 상태로 인해 할당된 SKB 구조체가 비정상적으로 해제·재사용되면서 커널 힙 오버플로우/UAF가 일어나고, 이를 이용해 임의 코드 실행(RCE)으로 루트 권한을 획득합니다.
- 지속·영향 – 얻은 루트 권한으로 시스템 파일 수정, 백도어 설치, 컨테이너 탈출 등 전반적인 시스템 장악이 가능해집니다.
- 정찰 –
-
CVSS 벡터와 실제 조건 매핑:
AV:L(로컬) → 공격자는 반드시 로컬 또는 동일 네트워크에 위치해야 함;AC:L(쉬운 난이도) → 특수한 패킷만 전송하면 되며 복잡한 권한 상승 단계가 필요 없음;PR:L(낮은 권한) → 일반 사용자 수준으로 시작 가능;UI:N(사용자 상호작용 없음) → 자동 실행.
악용 가능성: 이 취약점은 AV:L(로컬)·AC:L(낮은 난이도)·PR:L(저권한)·UI:N(사용자 상호작용 없음)이라는 CVSS 벡터가 의미하듯, 로컬 시스템에 접근 가능한 일반 사용자라도 별도의 권한 상승 없이 트리거할 수 있습니다. 실제 EPSS 0.13707(13.7 %)은 공격이 실현될 가능성이 평균 이상임을 보여 주며, KEV에 등재되지 않은 점은 아직 대규모 악용 사례가 보고되지 않았지만 이론적 위험성은 충분히 존재함을 의미합니다. 공격 표면은 IPv6 멀티캐스트 처리 경로이며, 특히 ipv6.igmp_sk 소켓이 사용되는 mld_newpack() 함수 호출 시 RCU 보호 없이 alloc_skb()가 수행되는 부분입니다. 로컬 프로세스가 임의의 IPv6 MLD 패킷을 전송하거나 해당 소켓을 이용해 메모리를 할당하도록 유도하면, RCU 락이 없으므로 메모리 재사용·해제 타이밍을 조작해 커널 메모리 손상을 일으킬 수 있습니다. 이 단계에서는 별도의 네트워크 권한(CAP_NET_RAW) 없이도 네임스페이스 격리를 이용하거나 기존 SUID 바이너리를 통해 해당 경로에 접근할 수 있는 경우가 흔히 존재합니다. 따라서 난이도는 낮고, 실제 공격 가능
💥 영향 분석
- 성공 시 커널 메모리 손상 → 루트/커널 권한 획득.
- 시스템 전체 파일·프로세스 제어, 네트워크 스택 완전 장악, 컨테이너 탈출 등 전반적인 보안 경계 붕괴.
🔗 관련 취약점·체이닝
- 유형: 현재 CWE가 미분류이나, 핵심은 Race Condition(RCU 보호 누락)와 Use‑After‑Free에 해당합니다.
- 가능한 체인:
CVE-2024-xxxx(예: netfilter 관련 RCU 경합) → 동일 RCU 스케줄링을 악용해 메모리 재사용 시점 조정 →CVE-2025-21758와 결합하면 권한 상승 성공률 증가.- 로컬 권한 상승 취약점(예: CAP_SYS_ADMIN 탈취)과 연계하여 원격 공격 벡터를 확장할 수 있습니다. (구체적 CVE 번호는 확인되지 않음, 추정)
🔎 탐지
- 커널 로그에서
mld_newpack관련 경고 또는 OOPS 메시지가 발생하는 경우. - RCU 스톨 타임아웃(
rcu_cpu_stall_timeout) 초과와 함께 IPv6 멀티캐스트 트래픽이 급증한 상황. auditd혹은 eBPF 기반 모니터링으로alloc_skb()가 비정상적인 컨텍스트(RCU 없이)에서 호출되는 패턴을 캡처.
🛡️ 완화 방안
- 패치 적용 – 커널 2.6.26‑5.15.179, 5.16‑6.1.129, 6.2‑6.6.79, 6.7‑6.12.16, 6.13‑6.13.4 이상 버전으로 업데이트(패치 포함).
- 임시 방어 – 필요 없는 경우 IPv6 멀티캐스트(
sysctl -w net.ipv6.conf.all.disable_ipv6=1또는net.ipv6.conf.*.mc_forwarding=0)를 비활성화. - 하드닝 – SELinux/AppArmor 정책으로
ipv6.igmp_sk에 대한 권한을 제한하고,CONFIG_DEBUG_RODATA,CONFIG_KASAN등 커널 메모리 보호 옵션을 활성화. - 모니터링 – 위 탐지 지표를 실시간 로그/보안 솔루션에 연동하여 이상 징후가 포착되면 즉시 알림.
본 보고서는 다중 소스 교차검증이 일관됨을 확인했으며([교차검증] 다중 소스에서 일관성이 확인됐다), EPSS 0.13707(실측 악용 예측 moderate)과 CVSS 7.8(high)을 고려해 이번 주 내(scheduled) 대응 우선순위로 지정되었습니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.8 · non-KEV · EPSS=0.13707 · exploit=moderate · in_scope=None