[공격] 분석 — CVE-2025-71112
CVE-2025-71112 enables out‑of‑bounds memory writes in the hns3 driver via unvalidated VLAN IDs from a VF mailbox, leading to kernel panic or local privilege escalation; immediate patching and VF access restriction are required.
📋 요약
- 심각도 high · CVSS 8.8 · EPSS 0.00129 · 악용난이도 hard
🔍 공격 기법
-
공격 표면
hns3드라이버의 VF → PF 메일박스 인터페이스 (SR‑IOV 가상 함수).- 핵심 파라미터: VLAN ID (
vlan_id)가vf_set_vlan()혹은 유사 IOCTL 호출에 전달되는 값.
-
전제 조건
- 공격자는 로컬 시스템에서 VF 디바이스 파일(
/dev/vfio/...등)에 접근할 수 있어야 함(권한 L). - SR‑IOV가 활성화된 환경이며, 커널이 취약 버전(5.3.1‑6.18.3) 중 하나를 사용하고 있다.
- 공격자는 로컬 시스템에서 VF 디바이스 파일(
-
단계별 흐름
- 정찰 –
lspci,/sys/bus/pci/devices/등을 통해 hns3 드라이버와 VF 존재 여부 확인. - 초기 접근 –
open()및ioctl(VF_SET_VLAN, …)로 VF 메일박스에 접근, VLAN ID 필드에 임의 값 삽입. - 트리거 조건 – VLAN ID를
VLAN_N_VID(보통 4096) 이상으로 설정하면vlan_del_fail_bmap배열 인덱스가 범위를 초과하게 됨. - 실행·권한 획득 – 커널이 OOB 쓰기를 수행하면서 인접 메모리(예: 비트맵 구조체 또는 함수 포인터)를 덮어써,
- DoS: 즉시 kernel panic → 서비스 중단.
- LPE(추정): 특정 위치에 제어 흐름을 삽입해 루트 권한 코드 실행 가능.
- 지속 – 성공 시 root 쉘 확보 후 시스템 서비스·커널 모듈을 영구화하거나, 공격자는 커스텀 보안 모듈을 로드함.
- 영향 – 전체 호스트 및 해당 호스트 위에 배포된 컨테이너/VM 전부가 영향을 받음.
- 정찰 –
-
CVSS ↔ 실제 조건 매핑
- AV:L → 로컬 VF 접근만 필요, 원격 네트워크는 사용되지 않음.
- AC:L → 복잡도 낮음; 단순
ioctl호출만으로 트리거 가능. - PR:L → 일반 사용자 수준 권한이면 충분(특히 SR‑IOV 환경에서 VF 할당받은 경우).
- UI:N → 사용자 상호작용 전혀 요구되지 않음.
악용 가능성: 이 취약점은 AV:L(로컬)·AC:L(낮은 복잡도)·PR:L(저권한)·UI:N(사용자 상호작용 없음)이라는 CVSS 벡터가 의미하듯, 공격자는 해당 호스트에 로컬 접근 권한만 있으면 충분히 시도할 수 있습니다. 실제로는 SR‑IOV를 지원하는 네트워크 어댑터에서 가상 함수(VF)를 이용해 net:hns3 드라이버에 VLAN 설정 메일박스를 전송하면 되며, 이 메일박스의 vlan_id 필드를 조작해 VLAN_N_VID 범위를 초과하도록 만들면 vlan_del_fail_bmap 배열을 벗어나는 메모리 접근이 발생합니다. 따라서 공격 표면은 net:hns3 드라이버가 처리하는 VF→PF 메일박스 인터페이스와 그 안의 VLAN ID 파라미터이며, 이 경로는 가상 머신이나 컨테이너 환경에서 NIC를 직접 할당받은 경우에 노출됩니다. EPSS 0.00129라는 수치는 현재까지 관측된 실제 악용 사례가 극히 적지만 존재함을 의미하고, KEV 미등재는 아직 대규모 공격으로 이어지지는 않았음을 보여줍니다. 그러나 메모리 오버플로우를 통한 커널 권한 상승은 이론적으로 가능하므로, 로컬 권한이 낮은 사용자라도 VF 구성을 조작할 수 있는 환경이면 실질적인 위험이 존재합니다. 결과적으로 난이도는 “hard”으로 평가되지만, 공격 전제조건(로컬 접근·VF 메일박스 전송)만 충족된다면 충분히 활용될 수 있는 취약점이라 판단됩니다.
💥 영향 분석
- 성공 시 커널 패닉으로 인한 서비스 가용성 파괴가 즉시 발생합니다.
- 메모리 오염이 함수 포인터 등을 덮어쓰면 루트 권한 획득이 가능해져, 전체 시스템 장악 및 데이터 유출·변조 위험이 존재합니다.
🔗 관련 취약점·체이닝
- 유형: CWE‑119(범위 초과 쓰기), CWE‑787(버퍼 오버플로우).
- 일반적인 체인 패턴:
- 정보 수집 → VF 존재 확인 (SR‑IOV 설정 누출).
- 메모리 오염 → OOB 쓰기로 커널 구조 변조.
- 권한 상승 → 제어 흐름 탈취 → 루트 쉘 확보.
- 추정: 동일 드라이버 내 다른 IOCTL(예:
vf_set_mac)이 추가 검증 없이 메모리 조작을 허용한다면, 복합 체이닝으로 보다 정교한 LPE가 가능할 수 있습니다.
🔎 탐지
- 커널 로그에
vlan_del_fail_bmap관련 out‑of‑bounds 또는 oops 메시지가 기록될 경우 경보. auditd규칙으로ioctl호출 시vf_set_vlan파라미터 값이VLAN_N_VID이상인 경우를 모니터링.- 하이퍼바이저/컨테이너 런타임에서 VF → PF 메일박스 트래픽에 비정상적인 VLAN ID(>4095) 패턴을 감지.
🛡️ 완화 방안
- 즉시: 영향을 받는 커널 버전(5.3.1‑6.18.3)으로 최신 보안 패치를 적용하십시오.
- 패치가 어려운 경우: SR‑IOV를 비활성화하거나, 하이퍼바이저 수준에서 VF에 대한 메일박스 접근을 차단(
vfio-pci제한, IOMMU 정책). - 추가 방어: SELinux/AppArmor 프로파일에
hns3드라이버의 IOCTL 호출을 제한하고, VLAN ID 검증 로직이 없는 경우 해당 시스템 콜을 감사 로그에 기록하도록 설정하십시오.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=8.8 · non-KEV · EPSS=0.00129 · exploit=hard · in_scope=None