[단독방어] 분석 — CVE-2025-21758
CVE-2025-21758 is a high‑severity local privilege escalation in the Linux kernel’s IPv6 MLD handling, and immediate blocking of inbound ICMPv6 MLD traffic mitigates exploitation until patches are applied.
📋 요약
- 심각도 high · CVSS 7.8 · EPSS 0.13707 · 악용난이도 moderate
🔍 공격 기법
mld_newpack() 함수가 RCU 보호 없이 호출될 수 있어, 특수히 조작된 ICMPv6 MLD(멀티캐스트 리스너 디스크버리) 패킷을 커널에 전달하면 권한이 상승합니다. 공격자는 로컬에서 악의적인 IPv6 멀티캐스트 패킷을 전송해 커널 메모리를 비정상적으로 할당·해제하면서 임의 코드를 실행할 수 있습니다.
악용 가능성: 이 취약점은 AV:L(로컬 접근)·AC:L(낮은 난이도)·PR:L(저 권한)·UI:N(사용자 상호작용 없음)이라는 CVSS 벡터를 갖고 있어, 공격자는 로컬 시스템에 직접 접속한 뒤 별도의 특권 상승 없이 바로 악용할 수 있습니다. 그러나 EPSS=0.13707이라는 실측 확률은 13 % 수준으로, 실제 악용 사례가 비교적 드물다는 점을 시사합니다. 또한 KEV(핵심 취약점) 미등재이므로 현재까지 대규모 공격 캠페인에 활용된 전례는 없습니다. 공격 표면은 커널 내부의 mld_newpack() 함수 호출 경로이며, 이 함수가 RCU 보호 없이 실행될 수 있는 상황(예: IPv6 멀티캐스트 패킷 처리 시)에서만 취약점이 노출됩니다. 따라서 공격자는 로컬 프로세스가 해당 코드를 트리거하도록 조작할 수 있는 특수한 입력(멀티캐스트 패킷)을 전송해야 합니다. 결과적으로 난이도는 낮지만, 실제 악용을 위해서는 로컬 환경에서 특정 네트워크 스택 동작을 유발하는 조건을 충족시켜야 하므로 위협 수준은 중간(moderate)으로 평가됩니다.
💥 영향 분석
성공 시 공격자는 루트 권한을 획득하여 전체 시스템을 장악합니다. 결과적으로 파일 무결성 파괴, 데이터 유출·변조, 서비스 중단 등 모든 보안 영역이 위험에 노출됩니다.
🔗 관련 취약점·체이닝
- IPv6 멀티캐스트 처리와 연계된 다른 로컬 권한 상승(CVE‑2024‑XXXX)과 조합 시 초기 권한 확보 후 네트워크 스택을 이용해 원격 전파가 가능할 수 있습니다.
(실제 CVE 번호는 확인되지 않아 명시하지 않았습니다.)
🔎 탐지
-
로그 지표
kernel: [timestamp] ipv6: mld_newpack:와 같은 메시지가 dmesg 혹은/var/log/kern.log에 기록될 경우.- Netfilter 로깅(
iptables -j LOG)에서 ICMPv6 타입 130‑132(MLD) 패킷이 비정상적으로DROP된 이벤트.
-
SIEM 탐지 규칙 예시
- Kernel 메시지 기반
1source = "kernel" 2where message matches /mld_newpack.*rcu/- Netfilter 로그 기반
1source = "firewall" 2where protocol = "ICMPv6" and icmp_type in (130,131,132) and action = "DROP"- 프로세스/시스템 콜 이상 징후
1source = "auditd" 2where syscall = "alloc_skb" and result = "FAIL"- 오탐 튜닝
- 정상적인 IPv6 멀티캐스트 환경(예: LAN 내 라우터 광고)에서 발생하는 MLD 패킷은
ACCEPT로깅을 별도 필터링하고, 오직DROP혹은 비정상적인 재시도 로그만 경보 대상으로 제한합니다. - 커널 디버그 레벨이 높은 경우 반복적으로
mld_newpack메시지가 발생할 수 있으므로, 동일 호스트에서 5분 이내 3회 이상 발생 시에만 알림을 전송하도록 임계값을 설정합니다.
- 정상적인 IPv6 멀티캐스트 환경(예: LAN 내 라우터 광고)에서 발생하는 MLD 패킷은
🛡️ 완화 방안
-
즉시(긴급 차단)
- inbound ICMPv6 MLD 트래픽 차단:
iptables -I INPUT -p icmpv6 --icmp-type {130,131,132} -j DROP- 구현 난이도: ★★ (몇 줄 명령) / 운영 영향: IPv6 멀티캐스트 기능 비활성화 → 일부 서비스(예: mDNS)에 제한 발생 / 검증 방법:
tcpdump -vv -i any icmp6 and ip6[40] in {130,131,132}로 차단 확인.
- 구현 난이도: ★★ (몇 줄 명령) / 운영 영향: IPv6 멀티캐스트 기능 비활성화 → 일부 서비스(예: mDNS)에 제한 발생 / 검증 방법:
- inbound ICMPv6 MLD 트래픽 차단:
-
단기(완화)
- RCU 보호 활성화 옵션 적용 – 커널 부팅 시
rcu_cpu_stall_timeout=0등 RCU 감시 파라미터를 강화해 비정상적인 호출을 로그로 남깁니다.- 난이도: ★★ / 영향: 미세한 성능 저하 가능 / 검증:
/proc/rcu_status확인 및 dmesg에 RCU 경고 유무 점검.
- 난이도: ★★ / 영향: 미세한 성능 저하 가능 / 검증:
- IPv6 멀티캐스트 제한 – sysctl
net.ipv6.conf.all.mc_forwarding=0,net.ipv6.conf.default.accept_ra=0로 MLD 처리 자체를 최소화합니다.- 난이도: ★★ / 영향: 라우터 광고·멀티캐스트 서비스 비활성 → 네트워크 토폴로지에 따라 제한적 영향을 가짐 / 검증:
sysctl -a | grep mc_forwarding로 값 확인.
- 난이도: ★★ / 영향: 라우터 광고·멀티캐스트 서비스 비활성 → 네트워크 토폴로지에 따라 제한적 영향을 가짐 / 검증:
- RCU 보호 활성화 옵션 적용 – 커널 부팅 시
-
근본(해결)
- 최신 커널 패키지 적용: 5.15.180 이상, 6.1.130 이상, 6.6.80 이상 등 취약점이 수정된 버전으로 업그레이드합니다.
- 구현 난이도: ★★★ (배포 환경에 따라 롤링 업데이트 필요) / 운영 영향: 재부팅 혹은 커널 교체 시 서비스 일시 중단 가능 / 검증:
uname -r로 버전 확인 후,/boot/config-$(uname -r)에서CONFIG_IPV6=m등 옵션 존재 여부 점검.
- 구현 난이도: ★★★ (배포 환경에 따라 롤링 업데이트 필요) / 운영 영향: 재부팅 혹은 커널 교체 시 서비스 일시 중단 가능 / 검증:
- 패치 적용 전후 잔여 리스크는 커널 외부 모듈이 동일 메모리 할당 경로를 우회하는 경우가 있으므로, 위 즉시·단기 조치를 유지하면서 정규 보안 업데이트 주기에 맞춰 완전한 업그레이드를 수행해야 합니다.
- 최신 커널 패키지 적용: 5.15.180 이상, 6.1.130 이상, 6.6.80 이상 등 취약점이 수정된 버전으로 업그레이드합니다.
-
인시던트 대응 플레이북
dmesg·/var/log/kern.log에 “mld_newpack” 메시지 존재 여부 확인.- Netfilter 로그에서 MLD 패킷 차단 이벤트 수집.
- 의심되는 호스트에서
ps -ef | grep alloc_skb등 비정상적인 프로세스 활동 탐색. - 즉시 차단 정책 적용 후, 시스템 재부팅 없이 커널 로그 변동을 모니터링.
- 패치 가능한 커널 버전으로 업데이트하고, 서비스 정상화 확인.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.8 · non-KEV · EPSS=0.13707 · exploit=moderate · in_scope=None