[방어] 분석 — CVE-2025-71095
A kernel panic vulnerability in the stmmac driver's zero-copy XDP_TX path requires immediate disabling of XDP zero-copy on affected interfaces to prevent local Denial-of-Service (DoS).
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00114 · 악용난이도 hard
🔍 공격 기법
본 취약점은 Linux 커널의 stmmac 네트워크 드라이버에서 Zero Copy XDP(Express Data Path) 기능을 사용할 때 발생합니다.
- 트리거: 로컬 권한을 가진 사용자가
XDP_TX액션을 수행하는 프로그램을 실행합니다. - 원인:
xdp_convert_buff_to_frame()을 통해 생성된xdp_frame의 메모리 타입이MEM_TYPE_PAGE_ORDER0(Zero Copy XSK pool 기반)일 때,stmmac_xdp_xmit_back()함수가 이를 적절히 검증하지 않고 처리합니다. - 결과: 잘못된 가상 주소(
ffffeffff80000000)에 대한 커널 페이징 요청이 발생하며, 이는dcache_clean_poc단계에서Internal error: Oops를 유발하여 시스템 전체가 정지되는 Kernel Panic으로 이어집니다.
악용 가능성: 본 취약점은 AV:L 및 PR:L 벡터가 시사하듯, 공격자가 이미 시스템에 로그인하여 로컬 권한을 획득한 상태에서만 트리거 가능한 Local Privilege Escalation 또는 DoS 성격의 취약점으로 공격 난이도는 Hard로 평가됩니다. 공격 표면은 Linux Kernel의 stmmac 드라이버 내 zero copy XDP_TX 액션 처리 로직이며, 특히 네트워크 인터페이스의 XDP(Express Data Path) 프로그램 설정 및 패킷 전송 파라미터가 핵심 트리거 지점입니다. 이론적인 심각도와 달리 EPSS 수치가 0.00114로 매우 낮고 KEV에 등재되지 않은 점은, 실제 야생(Wild)에서 이 특정 드라이버와 XDP 설정을 동시에 갖춘 환경을 타겟팅한 공격 사례가 희박함을 의미합니다. 그러나 로컬 권한을 가진 공격자가 XDP_TX 액션을 통해 커널 패닉(Kernel panic)을 유도하는 Oops를 발생시킬 수 있어, 가용성 측면의 위협은 실재합니다. 결과적으로 특정 하드웨어 드라이버와 고도의 네트워크 설정이 필요하므로 일반적인 환경에서의 악용 가능성은 낮으나, 해당 기능을 사용하는 특수 목적 서버에서는 치명적인 서비스 중단으로 이어질 수 있습니다.
💥 영향 분석
- 가용성 상실(DoS): 공격자가 특수하게 구성된 XDP 프로그램을 로드하고 실행함으로써 대상 서버의 커널을 즉시 크래시시킬 수 있습니다.
- 영향 범위: CVSS 벡터(
AV:L/PR:L)에 따라 로컬 접근 권한과 낮은 수준의 권한이 필요하므로, 다중 사용자 환경이나 컨테이너 환경에서 호스트 커널에 영향을 줄 수 있는 시나리오가 위험합니다.
🔗 관련 취약점·체이닝
- 유형: 메모리 관리 오류 및 타입 검증 미흡으로 인한 Null/Invalid Pointer Dereference 패턴입니다.
- 체이닝: 단독으로는 권한 상승(LPE)이나 정보 유출을 일으키지 않으나, 고가용성 서비스의 가용성을 파괴하는 DoS 공격의 수단으로 활용될 수 있습니다.
🔎 탐지
본 취약점은 실행 시 즉각적인 커널 크래시를 동반하므로 사후 분석(Post-mortem)과 실시간 로그 모니터링이 핵심입니다. 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, EPSS 0.00114 및 exploit=hard 등급으로 인해 실제 야생 악용 가능성은 낮으나 내부 위협이나 특수 환경에서의 가동 중단 위험은 존재합니다.
1. 로그 지표 및 패턴
- 로그 위치:
/var/log/syslog,/var/log/kern.log또는dmesg출력 - 핵심 식별자:
stmmac_xdp_xmit_xdpf,__stmmac_xdp_run_prog,Unable to handle kernel paging request - 패턴:
Internal error: Oops와 함께Call trace에stmmac관련 함수가 포함된 경우.
2. 탐지 규칙 예시 (SIEM/Log Analysis)
1-- Pseudo-query for Kernel Panic detection 2SELECT timestamp, hostname, message 3FROM kernel_logs 4WHERE message LIKE '%Unable to handle kernel paging request%' 5 AND message LIKE '%stmmac_xdp_xmit_xdpf%' 6 AND message LIKE '%Kernel panic%';3. 정규식 기반 탐지 (Log Scanner)
/(Unable to handle kernel paging request.*stmmac_xdp_xmit_xdpf)/i
4. 오탐 튜닝 및 대응
- 오탐 시나리오: 하드웨어 결함이나 다른 드라이버의 메모리 오류로 인한 Panic과 혼동될 수 있습니다.
- 튜닝 방법: 반드시
Call trace내에stmmac_xdp_xmit_xdpf또는__stmmac_xdp_run_prog함수명이 명시적으로 포함되어 있는지 확인하여 필터링합니다.
🛡️ 완화 방안
우선순위 결정 논리에 따라 CVSS 5.5, non-KEV, 낮은 EPSS 수치를 근거로 'monitor' 등급으로 분류되었으나, 영향 제품 범위가 광범위하므로 아래 단계별 조치를 권고합니다.
즉시 (긴급 차단)
- 조치: 영향받는 네트워크 인터페이스에서 XDP Zero Copy 기능 사용 중단 및 관련 프로그램 언로드.
- 난이도/영향: 낮음 / 해당 기능을 사용하는 고성능 패킷 처리 애플리케이션의 성능 저하 발생 가능.
- 검증:
ip link show등을 통해 XDP 프로그램 적용 여부 확인.
단기 (완화)
- 조치: 로컬 일반 사용자의
CAP_NET_ADMIN권한 제한 및 XDP 프로그램 로드 권한 통제. (추정: 루트 권한 없이 XDP를 로드할 수 있는 환경 차단) - 난이도/영향: 중간 / 시스템 관리 권한 체계 변경에 따른 운영 마찰 발생 가능.
- 검증: 비특권 계정에서
ip link set dev <iface> xdp obj <prog>실행 시 거부되는지 확인.
근본 (해결)
- 조치: Linux 커널을 수정 버전(stmmac의 메모리 타입 체크 로직이 추가된 버전)으로 업데이트 및 재부팅.
- 난이도/영향: 높음 / 커널 업데이트 후 시스템 재부팅 필수, 서비스 가동 중단 시간 발생.
- 검증:
uname -r을 통해 패치된 커널 버전 적용 여부 확인.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00114 · exploit=hard · in_scope=None