[공격] 분석 — CVE-2025-71112
Out-of-bounds memory access in the hns3 driver via unvalidated VLAN IDs from VF mailboxes allows local privilege escalation or kernel panic, requiring immediate kernel updates for affected versions.
📋 요약
- 심각도 high · CVSS 7.1 · EPSS 0.00126 · 악용난이도 hard
🔍 공격 기법
본 취약점은 hns3 네트워크 드라이버가 Virtual Function(VF)으로부터 수신하는 VLAN 설정 Mailbox 메시지의 VLAN id를 검증 없이 사용할 때 발생하는 Memory-Corruption 결함이다.
- 공격 표면 (Attack Surface):
- 엔드포인트: VF $\rightarrow$ PF (Physical Function) 간의 Mailbox 통신 채널.
- 파라미터: VLAN 설정 메시지에 포함된
VLAN id값. - 취약 함수/변수:
vlan_del_fail_bmap(크기가BITS_TO_LONGS(VLAN_N_VID)로 고정됨).
- 공격 체인 및 전제 조건:
- 초기 접근 (Initial Access): 공격자는 대상 시스템의 VF에 대한 제어권을 가진 로컬 사용자 권한(
PR:L)이 필요하다. 이는 가상화 환경(VM/Container)에서 게스트 OS가 호스트 커널을 공격하는 시나리오다. - 정찰 및 트리거:
VLAN_N_VID(통상 4096) 이상의 비정상적인 VLAN ID 값을 페이로드에 담아 Mailbox를 통해 PF로 전송한다. - 실행 (Execution): 커널의
hns3드라이버가 수신한 ID를 인덱스로 사용하여vlan_del_fail_bmap에 접근할 때, 경계 검사(Boundary Check) 부재로 인해 Out-of-Bounds(OOB) Read/Write가 발생한다. - 영향 (Impact): OOB 쓰기를 통해 인접한 커널 메모리 구조체를 오염시켜 권한 상승을 꾀하거나, 잘못된 주소 참조를 유도하여 Kernel Panic(DoS)을 일으킨다.
- 초기 접근 (Initial Access): 공격자는 대상 시스템의 VF에 대한 제어권을 가진 로컬 사용자 권한(
- CVSS 벡터 분석:
AV:L/AC:L/PR:L/UI:N은 네트워크 외부가 아닌 로컬 환경에서 낮은 복잡도로 권한이 있는 사용자가 직접 트리거함을 의미한다.
악용 가능성: 본 취약점은 AV:L/PR:L 벡터가 나타내듯, 공격자가 이미 시스템에 로그인하여 낮은 권한(Low Privilege)을 획득한 상태에서 로컬 접근이 가능해야 하므로 초기 진입 장벽이 높습니다. 특히 공격 표면이 일반적인 네트워크 인터페이스가 아닌 hns3 드라이버의 VF(Virtual Function)와 PF(Physical Function) 간 mailbox 통신 구간에 한정되어 있어, 가상화 환경에서 게스트 OS 권한을 가진 공격자가 호스트 커널을 타겟팅하는 시나리오로 제한됩니다. 트리거 조건은 VF가 전송하는 VLAN 설정 메일박스 패킷 내의 VLAN id 값을 VLAN_N_VID 범위를 초과하도록 조작하여 vlan_del_fail_bmap 비트맵에 Out-of-Bounds(OOB) 메모리 접근을 유도하는 것입니다. EPSS 수치가 0.00126으로 매우 낮고 KEV에 등재되지 않은 점은 해당 드라이버를 사용하는 특정 하드웨어 환경과 권한 조건이 일치해야 하므로, 범용적인 대규모 공격보다는 타겟팅된 정밀 공격 가능성이 높음을 시사합니다. 결과적으로 이론적 심각도와 별개로 실제 악용을 위해서는 로컬 접근 권한 확보와 특정 드라이버 환경이라는 까다로운 전제조건이 충족되어야 하므로 공격 난이도는 'Hard'로 판단됩니다.
💥 영향 분석
- 권한 상승 (Privilege Escalation): 커널 메모리 오염을 통해 일반 사용자 또는 게스트 권한에서 호스트/커널 권한으로 상승 가능.
- 가용성 파괴 (DoS): 잘못된 메모리 접근으로 인한 시스템 크래시 및 전체 서버 다운.
🔗 관련 취약점·체이닝
본 결함은 단독으로는 AV:L 제약이 있으나, 다음과 같은 체이닝 경로를 통해 위험도가 증폭된다.
- 추정: VM Escape $\rightarrow$ Host Kernel Compromise: 가상 머신 내부에서 VF 드라이버를 제어할 수 있는 권한을 획득한 후, 본 취약점을 이용해 하이퍼바이저/호스트 커널의 메모리를 오염시키는 전형적인 탈출 경로로 활용될 수 있다.
- 추정: Information Leak $\rightarrow$ OOB Write:
VLAN_N_VID범위 밖의 메모리를 읽을 수 있는 OOB Read가 선행된다면, KASLR(Kernel Address Space Layout Randomization)을 우회하기 위한 커널 주소 유출 지점으로 활용될 가능성이 높다. - 패턴:
Unvalidated Input (VLAN ID)$\rightarrow$OOB Memory Access$\rightarrow$Arbitrary Write/Corruption$\rightarrow$Privilege Escalation.
🔎 탐지
- 커널 로그 모니터링:
hns3드라이버 관련General Protection Fault또는Kernel Oops메시지 확인. - 패턴 예시: VF에서 PF로 전송되는 Mailbox 패킷 중 VLAN ID 필드 값이
0x1000(4096) 이상인 비정상 트래픽 탐지.
🛡️ 완화 방안
- 근본 해결: 영향 받는 Linux 커널 버전(5.3.1 ~ 6.18.3 등 다수 버전)을 최신 패치 버전으로 업데이트하여 VLAN ID 검증 로직을 적용한다.
- 즉시 조치: 불필요한 VF(Virtual Function) 생성 및 할당을 제한하고, 신뢰할 수 없는 게스트 OS의 네트워크 설정 변경 권한을 차단한다.
분석 근거: 본 리포트는 다중 소스 데이터 일관성이 확인된 교차검증 결과를 바탕으로 작성되었다. 실측 EPSS 값은 0.00126(백분위 0.02648)로 매우 낮으며, 이는 현재 실제 야생(In-the-wild)에서 활발히 악용되는 사례는 드물다는 것을 뜻한다. 하지만 CVSS 7.1의 심각도와 광범위한 영향 제품군을 고려하여 scheduled 우선순위로 대응하는 것이 타당하다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.1 · non-KEV · EPSS=0.00126 · exploit=hard · in_scope=None