Kestrel
CVE-2025-21758DGX_B· 2026년 7월 31일 AM 02:14

[방어] 분석 — 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 사용 오류)과 연계될 경우 동일 프로세스가 추가적인 네트워크‑관련 권한을 획득하거나, 컨테이너 환경에서 한 노드 침해가 전체 클러스터에 영향을 미칠 수 있습니다.

🔎 탐지

로그 지표

  • kernel dmesg / 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 규칙 예시

  1. Kernel warning rule

    • source: syslog
    • condition: message =~ /mld_newpack.*(RCU|use[- ]after[- ]free)/i
    • filter: kernel_version < "6.13" (패치가 적용된 버전 제외)
  2. Audit raw‑socket rule (Elastic Kibana DSL 예시)

    text
    1{
    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”인 경우 제외.
  3. Netfilter log rule (Splunk SPL 예시)

    text
    1index=firewall sourcetype=iptables
    2icmp_type IN ("130","131","132") action="DROP"
    3| stats count by src_ip, icmp_type
    • 오탐 시나리오: 내부 관리 네트워크에서 정상 MLD 사용이 있는 경우 src_ip 가 관리 VLAN인 경우 알림 레벨을 낮춤.

검증 방법

  • 위 규칙 적용 후 24 시간 동안 경보 발생 건수를 확인하고, 정상 서비스 트래픽과 비교해 false‑positive 비율을 <5%로 조정합니다.
  • dmesg -T | grep mld_newpack 로 직접 확인하여 경고가 사라졌는지 검증합니다.

🛡️ 완화 방안

  1. 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 권한을 제한합니다.
      구현 난이도: ★★★☆☆ (정책 작성·배포)
      운영 영향: 일부 네트워크 진단 도구가 작동하지 않을 수 있음 → 예외 규칙에 허용 프로세스 추가.
  2. 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
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…