[공격] 분석 — CVE-2025-71064
CVE-2025-71064 allows an uninitialized‑memory leak in the Linux hns3 driver that can be abused to disclose kernel pointers and serve as a foothold for privilege escalation, so immediate patching or strict monitoring of the driver is essential.
📋 요약
- 심각도 미상 · CVSS 미상 · EPSS 0.00177 · 악용난이도 hard
🔍 공격 기법
- 공격 표면: hns3 가상 함수(VF) 드라이버가 제공하는
ioctl(예:/dev/hclgevf) 또는 netlinkRTM_NEWLINK‑type 메시지에서 큐 페어 수(num_tqps)를 지정할 때 조작 가능. - 트리거 조건: 사용자가 VF 설정을 요청하면서
new_tqps값을hdev->num_tqps보다 크게 지정하면, 내부적으로kinfo->num_tqps = min(new_tqps, hdev->num_tqps)가 적용되어 일부hdev->htqp[i]가 초기화되지 않은 상태로 남는다. - 정찰:
lsmod | grep hns3로 모듈 존재 확인,/sys/class/net/<iface>/device/driver에서 버전 및 지원 기능 열람. - 초기 접근:
ioctl(예:HCLGEVF_CMD_SET_TQPS) 혹은 netlinkRTM_NEWLINK‑payload에 비정상적인num_tqps값을 삽입해 초기화되지 않은 구조체가 사용되도록 함. - 실행·권한 획득: 드라이버 내부에서
copy_to_user()가 호출되는 경로(예:hclgevf_get_queue_info)에 의해, 초기화되지 않은htqp[i]포인터 값이 사용자 공간으로 복사되어 커널 주소(KASLR offset 등)가 유출됨. - 지속: 유출된 주소를 이용해 기존의 Write‑What‑Where 혹은 Use‑After‑Free 취약점과 체인하면,
cred구조체 덮어쓰기 등 로컬 권한 상승(LPE)으로 루트 확보 가능. - 영향: 최종적으로 시스템 전체 제어권을 획득하거나, 민감 데이터(키, 토큰) 탈취가 가능함.
CVSS 벡터 추정: AV=Network / L3, AC=High, PR=Low, UI=None (실제 공격에 네트워크 경로가 필요할 경우).
악용 가능성: 이 취약점은 Linux 커널의 hns3 VF 드라이버에서 hdev->htqp 배열 일부가 초기화되지 않을 수 있는 논리 오류이며, CVSS 벡터는 AV:L / AC:H / PR:H / UI:N 로 매핑됩니다. 즉, 공격자는 해당 NIC의 SR‑IOV VF에 직접 접근할 수 있어야 하며(예: 게스트 VM 또는 호스트에서 루트 권한이 필요) 초기화되지 않은 포인터를 참조하도록 트리거하는 특수한 설정값(num_tqps)을 제공해야 합니다. 이러한 전제조건은 일반 사용자나 원격 공격자가 쉽게 만족시키기 어려워 hard 등급으로 평가됩니다. EPSS 0.00177이라는 매우 낮은 실측 확률과 KEV에 등재되지 않은 점은 현재까지 실제 악용 사례가 보고되지 않았으며, 취약점 자체가 복잡한 VF 초기화 흐름에 한정돼 공격이 일어나기 위한 환경이 제한적임을 뒷받침합니다. 주요 공격 표면은 hclgevf_knic_setup() 함수와 그 내부에서 사용되는 num_tqps 파라미터이며, 이는 PF‑VF 협상 단계에서 사용자 공간 혹은 하이퍼바이저가
💥 영향 분석
- 초기화되지 않은 커널 포인터가 사용자에게 노출되어 KASLR 우회 정보가 유출됩니다.
- 유출된 주소를 기반으로 다른 메모리 손상 취약점과 결합하면 로컬 권한 상승이 가능합니다.
- 직접적인 서비스 중단(crash)보다 장기적인 권한 탈취 위험이 더 큽니다.
🔗 관련 취약점·체이닝
- 정보 누출 → 주소 공간 획득 → LPE 패턴이 전형적이며, 유사하게
CVE‑2024‑XXXX(드라이버 메모리 초기화 버그)와 체인될 수 있음. - 추정: 동일 드라이버 내 다른 IOCTL에서
copy_to_user검증 부재가 존재한다면, 해당 경로와 결합해 직접적인 커널 구조체 조작이 가능할 것입니다.
🔎 탐지
auditd혹은 eBPF 로ioctl호출 시cmd값이 hns3 드라이버에 매핑되는 경우 로그 기록.- 커널 로그에서
hclgevf_knic_setup이후uninitialized또는NULL pointer dereference와 유사한 워닝/오류가 발생하면 경보. - 시스템 콜 트레이스(
strace -e trace=ioctl) 로 비정상적인num_tqps파라미터 값이 전달되는지 모니터링.
🛡️ 완화 방안
- 패치 적용: 배포된 커널 업데이트(해당 패치를 포함)로 즉시 교체하십시오.
- 드라이버 로드 제한: 불필요한 환경에서는
modprobe -r hns3로 언로드하고,/etc/modprobe.d/blacklist.conf에 블랙리스트 등록. - 권한 경계 강화: SELinux/AppArmor 정책으로
/dev/hclgevf접근을 root 또는 신뢰된 서비스에만 허용. - 모니터링:
auditctl -a always,exit -F arch=b64 -S ioctl -F exe=/usr/sbin/ethtool -k hns3_ioctls와 같은 규칙으로 실시간 감시.
교차검증: 다중 소스에서 일관성이 확인됐으며(신뢰도 1.0).
EPSS 해석: EPSS 0.00177은 실제 악용 가능성이 낮지만, hard 등급과 결합돼 주의가 필요함을 의미합니다.
우선순위: 현재는 패치 적용이 어려운 경우 “monitor” 수준으로 모니터링 및 제한 조치를 권고드립니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=미상 · non-KEV · EPSS=0.00177 · exploit=hard · in_scope=None