[방어] 분석 — 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 immediate kernel patching or restriction of unprivileged network socket access.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.13255 · 악용난이도 moderate
🔍 공격 기법
(1) 트리거 조건: IPv6 Multicast Listener Discovery(MLD) 프로토콜 처리 과정 중, mld_newpack() 함수가 RTNL(Routing Netlink) 락이나 RCU(Read-Copy Update) 보호 없이 호출될 때 발생하는 Race Condition을 이용합니다.
(2) 공격 단계:
- 초기 접근: 로컬 시스템에 낮은 권한의 사용자 계정으로 접속 (PR:L).
- 실행: MLD 패킷 처리를 유도하는 특정 네트워크 소켓 조작 또는 IPv6 멀티캐스트 설정 변경 시도.
- 영향: RCU 보호가 없는 상태에서 메모리 참조/수정이 겹치며 커널 패닉(Kernel Panic) 유발.
(3) 공격 표면: Linux Kernel Network Stack (IPv6 MLD implementation).
(4) CVSS 벡터 분석: AV:L (Local) 및 PR:L (Low privilege)로, 원격 공격은 불가능하며 이미 시스템에 접근 권한을 가진 로컬 사용자가 트리거할 수 있는 구조입니다.
악용 가능성: 본 취약점의 공격 난이도는 낮으나, 실제 악용 가능성은 제한적인 Moderate 등급으로 판단됩니다. CVSS 벡터상 AV:L 및 PR:L 조건으로 인해, 공격자는 대상 시스템에 이미 낮은 권한의 계정으로 로그인하여 로컬 쉘 접근권을 가진 상태여야 합니다. 공격 표면은 Linux Kernel의 IPv6 Multicast Listener Discovery(MLD) 프로토콜 처리 과정 중 mld_newpack() 함수이며, RCU 보호 없이 호출되는 지점을 트리거하여 커널 패닉이나 메모리 오염을 유도하는 구조입니다. EPSS 수치가 0.13255로 측정되어 이론적 위험보다 실제 공격 시도 가능성이 존재함을 시사하지만, KEV에 등재되지 않은 점은 현재까지 야생(In-the-wild)에서 광범위하게 악용된 사례가 드물다는 것을 의미합니다. 결론적으로 로컬 권한을 획득한 공격자가 커널 권한 상승이나 서비스 거부(DoS)를 위해 시도할 수 있는 시나리오이며, 네트워크 외부에서 직접 진입하는 원격 공격은 불가능한 구조입니다.
💥 영향 분석
(1) 기술적 위험: 커널 수준의 메모리 오염 또는 Null Pointer Dereference 등으로 인한 시스템 크래시 및 서비스 중단(Availability: High). CVSS 점수 5.5 및 벡터 A:H가 이를 뒷받침합니다.
(2) 비즈니스 영향: 서버 가용성 상실로 인한 서비스 다운타임 발생. 특히 멀티테넌트 환경이나 공유 호스팅 서버에서 단일 사용자가 전체 시스템을 마비시킬 수 있는 DoS 위험이 존재합니다.
🔗 관련 취약점·체이닝
- 추정: 본 취약점은 단순 가용성 저해(DoS)에 그치지만, 커널 메모리 상태를 정교하게 조작할 수 있다면 추정: 권한 상승(Privilege Escalation)을 위한 메모리 레이아웃 조작의 일부 단계로 활용될 가능성이 있습니다. 일반적으로
Race Condition$\rightarrow$Use-After-Free$\rightarrow$LPE(Local Privilege Escalation)패턴으로 체이닝됩니다.
🔎 탐지
(1) 로그 지표:
- /var/log/syslog 또는 dmesg 내의 Kernel Panic/Oops 메시지.
- 특히 mld_newpack 함수 호출 스택이 포함된 Stack Trace 확인.
(2) 탐지 규칙 예시:
- SIEM 쿼리 (Pseudo-code):
SELECT timestamp, hostname, message FROM kernel_logs WHERE message LIKE '%kernel panic%' AND message LIKE '%mld_newpack%'
- EDR/HIDS 로직:
IF (process == 'systemd' OR process == 'kworker') AND (event == 'crash') AND (stack_trace CONTAINS 'mld_newpack') THEN alert('CVE-2025-21758 Potential Exploit');
(3) 오탐 튜닝: 단순 네트워크 드라이버 오류나 하드웨어 결함으로 인한 패닉과 구분하기 위해, 반드시 mld_newpack 또는 IPv6 MLD 관련 함수 호출 스택이 포함되어 있는지 확인해야 합니다.
🛡️ 완화 방안
- 즉시(긴급 차단):
- 조치: 불필요한 경우 IPv6 멀티캐스트 기능 비활성화 또는
sysctl을 통한 IPv6 설정 제한. (추정:net.ipv6.conf.all.disable_ipv6=1등) - 난이도: 낮음 / 운영 영향: 높음(IPv6 서비스 중단) / 검증:
ip addr명령어로 IPv6 활성화 여부 확인 / 우선순위: 최상.
- 조치: 불필요한 경우 IPv6 멀티캐스트 기능 비활성화 또는
- 단기(완화):
- 조치: 비특권 사용자의 네트워크 소켓 생성 권한 제한 (Capability 제어).
- 난이도: 중간 / 운영 영향: 중간(특정 애플리케이션 동작 제약) / 검증:
getcap명령어로 바이너리 권한 확인 / 우선순위: 중간.
- 근본(해결):
- 조치: 영향받는 커널 버전(2.6.26 ~ 6.13.4 등)을 최신 수정 버전으로 업데이트.
mld_newpack()에 RCU 보호가 추가된 패치 적용. - 난이도: 중간 / 운영 영향: 낮음(재부팅 필요) / 검증:
uname -r로 커널 버전 확인 / 우선순위: 높음.
- 조치: 영향받는 커널 버전(2.6.26 ~ 6.13.4 등)을 최신 수정 버전으로 업데이트.
[분석 근거] 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, 실측 EPSS 값(0.13255, 백분위 0.95983)을 기반으로 실제 악용 가능성이 Moderate 등급임을 반영하였습니다. CVSS 5.5 및 로컬 공격 벡터(AV:L)를 근거로 우선순위를 scheduled(이번 주 내)로 결정하였습니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.13255 · exploit=moderate · in_scope=None