[단독방어] 분석 — CVE-2025-71112
CVE-2025-71112 allows out‑of‑bounds memory access in the Linux hns3 driver when a VF sends an oversized VLAN ID, and the highest‑priority mitigation is to immediately disable the hns3 module or SR‑IOV VFs on affected hosts.
📋 요약
- 심각도 high · CVSS 8.8 · EPSS 0.00129 · 악용난이도 hard
🔍 공격 기법
Linux 커널의 hns3 네트워크 드라이버가 VF(Virtual Function)로부터 VLAN 설정 메일박스를 수신할 때, VLAN ID 값에 대한 검증이 누락되어 있습니다. 공격자는 VF를 통해 0 ~ VLAN_N_VID‑1(보통 4096) 범위를 초과하는 VLAN ID를 포함한 메일박스를 전송하면 vlan_del_fail_bmap 배열을 인덱스 초과하여 접근하게 됩니다. 이로 인해 커널 메모리 손상이 발생하고, 로컬 권한 상승 혹은 서비스 거부(DoS) 상태가 초래될 수 있습니다.
악용 가능성: 이 취약점은 AV:L(로컬)이며 공격자는 해당 호스트에 직접 접근하거나 가상 머신(VF) 내부에서 실행되는 코드를 삽입해야 합니다. 복잡도는 AC:L·PR:L·UI:N으로, 로컬 권한만 있으면 별도의 사용자 상호작용 없이 낮은 난이도로 악용이 가능하므로 공격자는 루트가 아닌 일반 계정이라도 VF 드라이버를 통해 메일박스 데이터를 조작하면 됩니다. 트리거 조건은 VF(virtual function)에서 호스트의 hns3 네트워크 드라이버에 VLAN 설정 메일박스를 전송할 때, 0 ~ VLAN_N_VID‑1 범위를 벗어난 VLAN ID를 포함시키는 것입니다. 공격 표면은 PCIe 가상 NIC (VF → PF) 통신과 그 내부의 **mailbox 메시지 필드(vlan_id)**이며, 해당 필드를 검증하지 않으면 vlan_del_fail_bmap 배열을 초과 접근해 커널 메모리 오염이 발생합니다. EPSS 점수 0.00129는 현재 실제 악용 사례가 드물지만, KEV에 등재되지 않은 것이 이 취약점의 위험성을 부정하는 근거는 아닙니다; 커널 레벨 메모리 손상은 권한 상승이나 서비스 거부(DoS)로 이어질 수 있어 여전히 실전 위협으로 간주됩니다. 따라서 공격자는 가상화 환경을 운영 중인 서버에 접근 가능한 수준이라면, 비교적 단순히 잘못된 VLAN ID를 포함한 메일박스를 전송함으로써 커널 오버플로우를 유발할 수 있습니다.
💥 영향 분석
- 커널 메모리 오염 – 인덱스 초과 읽기/쓰기로 인해 임의 코드 실행 또는 시스템 크래시가 발생합니다.
- 로컬 권한 상승 – 손상된 커널 영역을 이용해 루트 권한 획득이 가능할 수 있습니다.
- 서비스 거부 – 커널 패닉으로 호스트 전체가 다운됩니다.
🔗 관련 취약점·체이닝
- 동일한 VLAN ID 검증 부재와 메모리 경계 오류를 가진 과거의 hns3 관련 CVE(예: CVE‑2022‑XXXX)와 연계될 수 있습니다.
- SR‑IOV 가상화 환경에서 VF가 제어판에 직접 접근하는 다른 메일박스 기반 취약점과 체이닝 가능성이 존재합니다.
🔎 탐지
로그 지표
dmesg혹은 커널 로그(kern.log)에 “vlan_del_fail_bmap: out of bounds”와 유사한 경고 메시지가 기록될 수 있습니다.ethtool -S <iface>출력 중vf_vlan_config_errors카운터가 증가하면 의심됩니다.
SIEM 쿼리 예시 (Elastic ELK)
1event.module:"kernel" and message:/vlan_del_fail_bmap.*out of bounds/ 2 3metricset.name:"ethtool" and metric_name:"vf_vlan_config_errors" 4| stats sum(value) as err by host, interface, window(5m) 5| where err > 10정규식 예시
vlan_del_fail_bmap.*out of bounds
오탐 튜닝
- 정상적인 VLAN ID 재구성 시에도 드물게 “vlan_del_fail_bmap” 문자열이 남을 수 있으므로, 위 쿼리와 함께 시간 기반 임계값(예: 5분 내 3회 이상)과 호스트별 평균 오류율을 결합해 오탐을 감소시킵니다.
🛡️ 완화 방안
-
SR‑IOV 및 VF 비활성화 (필요 시 개별 NIC에 적용)
bash1sudo ethtool -L <iface> combined 0 # VF 수를 0으로 설정2sudo ip link set dev <vf_iface> down구현 난이도: 중간 → 각 인터페이스마다 명령 실행 필요.
운영 영향: 가상화 환경에서 VF가 제공하던 트래픽이 차단되므로, 해당 워크로드는 호스트 NIC로 재배치해야 함.
검증 방법:ethtool -l <iface>로 VF 수가 0인지 확인하고,dmesg에 오류 로그가 더 이상 발생하지 않는지 모니터링. -
VLAN ID 검증 강화(ebpf) – 커널 레벨에서 VLAN ID ≥ 4096인 메일박스를 드롭하도록 eBPF 프로그램을 로드합니다. (예:
bpftool prog load vlan_filter.o /sys/fs/bpf/vlan_filter && bpftool net attach xdp pinned /sys/fs/bpf/vlan_filter dev <iface>)
구현 난이도: 높음 → eBPF 개발 및 테스트 필요.
운영 영향: 패킷 처리 오버헤드가 미미하게 증가할 수 있음.
검증 방법: 정상 VLAN ID와 비정상 VLAN ID를 각각 전송해 로그(dmesg)에 차단 여부 확인.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=8.8 · non-KEV · EPSS=0.00129 · exploit=hard · in_scope=None