[공격] 분석 — CVE-2025-21758
A race condition in the Linux kernel's IPv6 multicast (MLD) implementation allows local users to cause a system crash due to missing RCU protection in
mld_newpack(), requiring an immediate kernel update.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.13255 · 악용난이도 moderate
🔍 공격 기법
(1) 트리거 조건: IPv6 Multicast Listener Discovery (MLD) 패킷 처리 과정에서 mld_newpack() 함수가 RTNL(Routing Netlink) 락이나 RCU(Read-Copy Update) 보호 없이 호출될 때 발생함. 특히 ipv6.igmp_sk 소켓에 대한 메모리 할당 및 참조 과정에서 동기화 결함이 트리거됨.
(2) 공격 단계:
- 정찰: 대상 시스템의 커널 버전 확인 (Linux 2.6.26 ~ 6.13.4 범위 내).
- 초기 접근: 로컬 사용자 권한 획득 (AV:L, PR:L).
- 실행/영향: 특정 IPv6 MLD 트래픽을 유도하거나 관련 시스템 콜을 반복 호출하여
mld_newpack()의 Race Condition 유발 $\rightarrow$ 커널 패닉(Kernel Panic) 및 DoS 발생.
(3) 공격 표면: - 프로토콜: IPv6 Multicast Listener Discovery (MLD).
- 함수:
mld_newpack(),alloc_skb(). - 엔드포인트: 네트워크 스택 내부의 MLD 패킷 처리 경로.
(4) CVSS 벡터 분석: - AV:L / PR:L: 외부망에서 직접 공격은 불가하며, 이미 시스템에 로그인한 저권한 사용자가 실행 가능함.
- AC:L / UI:N: 특별한 사용자 상호작용 없이 단순한 패킷 유도만으로 트리거 가능하여 공격 난이도가 낮음.
악용 가능성: 본 취약점은 AV:L 및 PR:L 조건으로 인해 네트워크 외부에서 직접 트리거할 수 없으며, 시스템에 이미 접근 권한을 가진 로컬 사용자의 계정 권한이 전제되어야 합니다. 공격 표면은 Linux 커널의 IPv6 멀티캐스트 리스너(mld_newpack) 함수로, RCU(Read-Copy Update) 보호가 누락된 상태에서 특정 네트워크 패킷 처리를 유도해 Race Condition을 일으키는 것이 핵심입니다. AC:L인 만큼 트리거 조건 자체는 단순하나, 커널 메모리 상의 타이밍 이슈를 정교하게 맞추어야 하므로 실제 공격 난이도는 낮지 않습니다. 다만 EPSS 수치가 0.13255로 측정된 것은 이론적 복잡성과 별개로, 로컬 권한 상승(LPE)을 노리는 공격자들이 커널 취약점을 체이닝하여 권한을 탈취하려는 실질적인 시도가 존재함을 시사합니다. KEV에 등재되지 않은 이유는 단독으로 원격 실행이 불가능하기 때문이며, 실제 위협은 초기 침투 후 내부망 확산을 위한 권한 상승 단계에서 발생할 가능성이 큽니다. 결과적으로 이 취약점은 외부 노출 엔드포인트보다는 로컬 인터페이스의 IPv6 스택 조작을 통한 커널 패닉 유도나 임의 메모리 접근으로 이어지는 공격 경로를 가집니다.
💥 영향 분석
(1) 기술적 위험: 커널 레벨의 Race Condition으로 인한 시스템 크래시(Kernel Panic). 이는 서비스 가용성을 완전히 상실시키는 Denial of Service (DoS) 상태를 초래함.
(2) 비즈니스 영향: 서버 가동 중단으로 인한 서비스 다운타임 발생. 특히 IPv6 환경의 네트워크 인프라 장비나 호스트에서 발생 시 전체 네트워크 통신 장애로 이어질 수 있음.
🔗 관련 취약점·체이닝
- 추정: 본 취약점은 단독으로는 DoS에 그치지만, 커널 메모리 오염(Memory Corruption)이나 Use-After-Free (UAF) 패턴으로 발전할 가능성이 있는 RCU 보호 결함임.
- 체이닝 경로: [로컬 권한 획득] $\rightarrow$ [본 취약점을 통한 커널 상태 교란/크래시 유도] $\rightarrow$ 추정: [다른 커널 메모리 관리 취약점과 체이닝하여 권한 상승(LPE) 시도].
- 유형 수준: Race Condition $\rightarrow$ Memory Corruption $\rightarrow$ Privilege Escalation.
🔎 탐지
(1) 로그 지표: /var/log/syslog 또는 dmesg에서 mld_newpack 관련 커널 덤프, Kernel panic, Unable to handle kernel paging request 등의 메시지 확인.
(2) 탐지 규칙 예시:
- 로직: 동일한 저권한 사용자가 단시간 내에 비정상적으로 많은 IPv6 MLD 관련 네트워크 요청을 생성하는 패턴 감시.
- SIEM 쿼리 예시:
process.name == "unknown" AND network.protocol == "ipv6" AND destination.port == [MLD_Related_Ports] | stats count() by source.ip, user.id | where count > threshold
(3) 오탐 시나리오: 대규모 IPv6 멀티캐스트 환경의 정상적인 네트워크 토폴로지 변경 시 MLD 패킷이 급증할 수 있음. 이를 줄이기 위해 특정 사용자 계정의 비정상적 호출 빈도와 커널 로그의 Warning 메시지를 결합하여 분석해야 함.
🛡️ 완화 방안
- 즉시(긴급 차단): IPv6 사용이 불필요한 서버의 경우 IPv6 스택 비활성화 (
sysctl -w net.ipv6.conf.all.disable_ipv6=1). (난이도: 낮음 / 영향: IPv6 서비스 중단) - 단기(완화):
mld_newpack()을 트리거할 수 있는 저권한 사용자의 네트워크 소켓 생성 권한 제한. (난이도: 중간 / 영향: 일부 애플리케이션 동작 제약 가능성) - 근본(해결): 영향을 받는 커널 버전에서 수정된 최신 버전으로 업그레이드 (예: 6.12.17+, 6.6.80+ 등 해당 브랜치 최신 패치 적용). (난이도: 중간 / 영향: 재부팅 필요, 가용성 일시 중단)
[파이프라인 근거] 본 리포트는 다중 소스 데이터의 일관성이 확인된 교차검증 결과를 바탕으로 작성되었습니다. 실측 EPSS 수치는 0.13255(백분위 0.95983)로, 이론적 CVSS(5.5)보다 실제 악용 가능성이 상대적으로 높게 예측되는 Moderate 등급입니다. 이에 따라 KEV 미등재 상태임에도 불구하고 이번 주 내 대응이 필요한 'scheduled' 우선순위로 결정되었습니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.13255 · exploit=moderate · in_scope=None