[공격] 분석 — CVE-2025-71114
CVE-2025-71114 enables a local boot‑time denial‑of‑service on vulnerable Linux kernels by inserting an unnamed MMIO resource via the VIA watchdog driver; immediate mitigation is to apply patched kernels or blacklist the via_wdt module while monitoring for “<BAD>” entries in /proc/iomem.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00123 · 악용난이도 hard
🔍 공격 기법
- 공격 표면: x86 기반 시스템에서
via_wdt커널 모듈이 로드되는 모든 커널(3.3.1‑6.18.3 등) 및/proc/iomem을 읽을 수 있는 로컬 프로세스. - 트리거 조건: 부팅 초기 단계에
allocate_resource()가 이름 없이 MMIO 영역을 할당할 때 발생한다. 해당 리소스는/proc/iomem에 “<BAD>” 라벨로 남으며, 이후 커널의resource_lookup()·conflict‑check 로직이 무한 대기하거나 패닉한다. - 정찰:
lsmod | grep via_wdt,dmesg | grep -i via_wdt,cat /proc/iomem | grep "<BAD>"로드 여부와 오류 항목 확인. - 초기 접근: 로컬 사용자(권한 낮음) 혹은 물리적 접근자가 시스템 재부팅(
reboot, 전원 차단 후 자동 부팅 등)을 수행하면 해당 모듈이 초기화된다. CVSS 벡터AV:L/AC:L/PR:L/UI:N과 일치한다. 원격 공격자는 Secure Boot·Signed‑Kernel 정책이 없을 경우에만 부트 파라미터 조작으로 간접 접근 가능하지만, 일반 환경에서는 실현성이 낮다. - 실행·권한 획득: 부팅 중 삽입된 “<BAD>” 엔트리 때문에 커널이 자원 충돌 검사를 정상적으로 수행하지 못하고 멈춘다(boot‑hang). 현재 알려진 경로에서는 메모리 오염이나 권한 상승으로 직접 이어지는 증거가 없으며, LPE는 추정: 다른 메모리 관리 결함과 연계될 경우 발생 가능.
- 지속·영향: 시스템이 부팅 단계에서 멈추면 복구 없이 재부팅을 반복해야 하며, 물리적 접근이 가능한 환경에서는 서비스 가용성을 영구적으로 저해한다.
악용 가능성: 이 취약점은 AV가 L(로컬)이며 AC·PR 모두 L(낮은 복잡도·저권한)으로, 이론적으로는 로컬 사용자가 커널 부팅 과정에 개입하면 쉽게 이용할 수 있습니다. 그러나 실제 공격이 성립하려면 부팅 초기에 allocate_resource()가 호출되는 시점에 악의적인 코드가 삽입되어야 하며, 이는 보통 커스텀 initramfs·커널 모듈 로드·물리/VM 콘솔 접근과 같은 저권한이라도 부트 단계까지 확장된 권한이 필요합니다. UI는 N(사용자 상호작용 없음)으로, 사용자가 별도의 행동을 취할 필요가 없지만, 공격자는 시스템 재부팅을 강제하고 자신의 코드를 커널 초기화에 끼워 넣어야 하므로 실전 난이도는 “hard”로 평가됩니다. EPSS 0.00123이라는 매우 낮은 점수와 KEV 미등재는 현재까지 이 조건을 만족하는 실제 악용 사례가 거의 없음을 의미합니다. 공격 표면은 /proc/iomem 에 나타나는 이름 없는 “<BAD>” 엔트리와, 해당 MMIO 영역을 예약·검증하는 via_wdt 드라이버의 allocate_resource() 함수입니다. 따라서 공격자는 부팅 시점에 MMIO 리소스 충돌을 유발하거나 잘못된 엔트리를 조작해 시스템이 hang하도록 만들 수 있지만, 이를 위해서는 부팅 프로세스를 제어할 수 있는 로컬 접근 권한과 정밀 타이밍이 필수적입니다.
💥 영향 분석
- 가용성: 부팅 시 커널이 멈춰 전체 시스템 다운(DoS).
- 보안: 현재는 직접적인 권한 상승이나 정보 유출 보고가 없으며, 메모리 내용 노출은 추정: 부팅 로그에 남은 구성 정보 정도.
🔗 관련 취약점·체이닝
- 유형: CWE‑665(Improper Initialization)와 유사하게 “Unnamed resource allocation”이 커널 리소스 트리를 손상시킨다.
- 가능한 체인: 동일 커널 버전에서 보고된 슬랩 오버플로·Use‑After‑Free 등 메모리 관리 취약점과 결합하면, 잘못된 리소스 엔트리가 포인터 오류를 유발해 Local Privilege Escalation이 발생할 추정: 가능성이 있다. 현재 CVE 자체만으로는 LPE가 입증되지 않았으며, 별도 결함과의 연계가 필요하다.
🔎 탐지
/proc/iomem에 “<BAD>” 라벨이 포함된 엔트리 존재 여부를 주기적으로grep "<BAD>" /proc/iomem로 감시.- 부팅 로그(
dmesg)에via_wdt:혹은allocated unnamed resource메시지가 출력되는지 모니터링. - 부팅 단계에서 커널이 30 초 이상 멈추는 현상이 포착되면 알림 트리거.
🛡️ 완화 방안
- 패치 적용 – 영향을 받는 모든 버전(3.3.1‑5.10.248, 5.11‑5.15.198, 5.16‑6.1.160, 6.2‑6.6.120, 6.7‑6.12.64, 6.13‑6.18.3 등)으로 업데이트.
- 드라이버 비활성화 – 부팅 시
modprobe.blacklist=via_wdt로 모듈 로드를 차단하거나 커널 컴파일 옵션CONFIG_WATCHDOG_VIA=n으로 제거. - Secure Boot·모듈 서명 강화 – 서명되지 않은 커널 모듈 로드 방지.
- 재부팅 권한 제한 및 감사 –
reboot,shutdown호출을 최소화하고, 로그에 기록하여 비정상적인 재부팅 시도 감시.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00123 · exploit=hard · in_scope=None