[공격] 분석 — CVE-2025-71095
A local attacker with low privileges can trigger a kernel panic (DoS) by exploiting memory type mishandling in the stmmac driver's zero-copy XDP_TX path, requiring immediate patching or disabling of XDP zero-copy.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00114 · 악용난이도 hard
🔍 공격 기법
본 취약점은 stmmac 드라이버가 XDP(Express Data Path)의 Zero Copy 모드에서 메모리 타입을 적절히 검증하지 않아 발생하는 Null Pointer Dereference 또는 Invalid Memory Access 기반의 커널 크래시이다.
- 공격 표면 및 트리거 조건:
- 대상:
stmmac네트워크 드라이버가 활성화된 Linux 시스템. - 조건: 공격자가 XDP 프로그램을 로드하고, Zero Copy XSK(AF_XDP) 풀을 사용하여 패킷을 전송(
XDP_TX)할 수 있는 권한이 있어야 함. - 결함 지점:
xdp_convert_buff_to_frame()함수를 통해 생성된xdp_frame의 메모리 타입이MEM_TYPE_PAGE_POOL인지MEM_TYPE_PAGE_ORDER0인지에 따라 처리 경로가 달라져야 하나,stmmac_xdp_xmit_back()에서 이를 확인하지 않고 잘못된 메모리 접근을 시도함.
- 대상:
- 공격 체인 (Attack Chain):
- 초기 접근: 로컬 사용자 권한 획득 (
PR:L). - 정찰 및 환경 구성: 대상 시스템의 네트워크 인터페이스가
stmmac드라이버를 사용하는지 확인하고, AF_XDP Zero Copy 설정 가능 여부 판단. - 실행 (Trigger): XSK 풀을 생성하고
XDP_TX액션을 유도하는 특수하게 구성된 패킷/프레임을 전송. - 영향: 커널 내부에서
dcache_clean_poc$\rightarrow$__dma_sync_single_for_device경로를 통해 잘못된 가상 주소(ffffeffff80000000)에 접근하며 Kernel Panic (Oops) 발생.
- 초기 접근: 로컬 사용자 권한 획득 (
- CVSS 벡터 분석:
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H- 로컬 권한(
PR:L)이 필요하며, 네트워크 설정 변경이나 XDP 프로그램 로드가 가능해야 하므로 공격 난이도는 낮으나 접근 제약이 있음. 결과는 가용성 파괴(A:H)에 집중됨.
- 로컬 권한(
악용 가능성: 본 취약점은 AV:L 및 PR:L 조건으로 인해 로컬 권한을 가진 사용자가 시스템에 이미 접근해 있어야 하며, 특정 네트워크 드라이버(stmmac)와 XDP(Express Data Path) 설정이 활성화된 환경이라는 매우 제한적인 전제조건을 가집니다. 공격 표면은 Linux 커널의 stmmac 드라이버 내 XDP_TX 액션을 처리하는 함수(stmmac_xdp_xmit_xdpf)이며, Zero Copy 모드에서 메모리 동기화 과정 중 발생하는 Kernel Paging Request 오류를 트리거합니다. EPSS 수치가 0.00114로 매우 낮고 KEV에 등재되지 않은 점은 실제 야생(In-the-wild)에서 이 취약점이 공격 무기로 활용된 사례가 거의 없음을 시사합니다. 결과적으로 공격자는 로컬 권한을 이용해 특수하게 조작된 XDP 프로그램을 로드하여 커널 패닉(Kernel Panic)을 유도하는 DoS 공격이 가능하지만, 이를 통한 원격 코드 실행(RCE)이나 권한 상승으로 연결하기에는 제약 사항이 매우 많습니다. 따라서 이론적인 심각도보다 실전 악용 가능성은 현저히 낮으며, 특정 하드웨어 드라이버와 고급 네트워크 기능을 사용하는 특수 환경에서만 유효한 'Hard' 난이도의 취약점으로 판단됩니다.
💥 영향 분석
- 가용성 완전 상실: 커널 패닉으로 인해 시스템이 즉시 중단(Panic)되며, 서비스 거부(DoS) 상태가 됨.
- 시스템 불안정성: 인터럽트 컨텍스트(
Fatal exception in interrupt)에서 발생하므로 복구 불가능한 크래시로 이어짐.
🔗 관련 취약점·체이닝
- 권한 상승 체이닝 (추정): 본 취약점 자체는
A:H(DoS)에 그치지만, 커널 메모리 접근 오류를 유도하는 과정에서 특정 조건(메모리 레이아웃 조작 등)이 결합될 경우, 단순 크래시가 아닌 임의 주소 쓰기나 정보 유출로 이어질 가능성이 있음. - 패턴 분석:
Invalid Memory Type Handling$\rightarrow$Out-of-bounds/Null Pointer Access$\rightarrow$Kernel Panic. 일반적인 드라이버 수준의 메모리 관리 미흡 패턴임.
🔎 탐지
- 커널 로그 모니터링:
dmesg또는/var/log/syslog에서 다음과 같은 Call Trace 패턴 감시.Unable to handle kernel paging request at virtual address fffeffff80000000stmmac_xdp_xmit_xdpf$\rightarrow$__dma_sync_single_for_device$\rightarrow$dcache_clean_poc순의 스택 트레이스.
- 행위 기반 탐지: 일반적이지 않은 사용자 권한에서의 AF_XDP 소켓 생성 및 Zero Copy 설정 시도 모니터링.
🛡️ 완화 방안
- 근본 해결: 영향받는 커널 버전(
5.13.1 - 6.18.4등 광범위)에 대해stmmac드라이버의 메모리 타입 체크 로직이 수정된 최신 보안 패치 적용. - 즉시 조치: 패치가 불가능한 경우, 취약한 네트워크 인터페이스에서 XDP Zero Copy 기능을 비활성화하거나 AF_XDP 사용 권한을 엄격히 제한.
[분석 근거] 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, EPSS 실측값 0.00114 (백분위 0.01764)를 기반으로 실제 악용 가능성이 매우 낮음(hard)을 확인했습니다. 이에 따라 CVSS 5.5 점수와 KEV 미등재 상태를 종합하여 우선순위를 monitor로 결정하였습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00114 · exploit=hard · in_scope=None