[공격] 분석 — CVE-2025-71104
A local DoS vulnerability in KVM's x86 HV timer allows a low-privileged user to trigger host hard lockups by manipulating VM inactivity, requiring immediate kernel patching for high-density virtualization environments.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00095 · 악용난이도 hard
🔍 공격 기법
본 취약점은 Intel CPU의 VMX preemption timer(HV timer)가 게스트 활성화 상태에서만 동작한다는 특성과 KVM의 타이머 만료 처리 로직 결함을 이용한다.
- 공격 표면 및 트리거 조건:
- 대상: KVM 기반 가상화 환경 (Intel CPU + HV timer 사용 설정).
- 트리거: 게스트 vCPU가 장기간 중단(Pause/Suspend)되어
target expiration과 현재 시간 사이에 거대한 간극이 발생한 후, 다시 vCPU가 실행될 때 발생한다.
- 공격 경로 (Attack Chain):
- 초기 접근: 공격자는 이미 VM 내부에 접근 권한을 가진 사용자(PR:L)여야 한다. (AV:L)
- 상태 조작: 게스트 OS 또는 하이퍼바이저 제어 인터페이스를 통해 vCPU를 장기간 중단시켜 HV timer의 누적 지연을 유도한다.
- 결함 트리거: vCPU가 재개되는 순간, KVM은 과거의
target expiration에 단순히 주기(period)를 더해 다음 만료 시간을 설정한다. - 무한 루프 진입: 만료 시간이 여전히 현재보다 과거라면, KVM은 즉시 hrtimer IRQ를 생성하고 다시 동일한 로직을 반복하며 무수히 많은 IRQ를 발생시킨다.
- 공격 메커니즘 (Conceptual):
target_expiration = previous_expiration + period$\rightarrow$if (target_expiration < now)$\rightarrow$Trigger IRQ$\rightarrow$Repeat.
정상적인 로직이라면target_expiration을now로 강제 설정해야 하나, 이를 누락하여 CPU가 IRQ 처리만 반복하는 상태에 빠진다. - 실전 관점: CVSS 벡터(AV:L/AC:L/PR:L)에서 보듯 낮은 권한으로도 가능하지만, 호스트의 Hard Lockup을 유발하는 강력한 DoS 공격이다.
악용 가능성: 본 취약점은 공격 난이도가 매우 높은 hard 등급으로, 네트워크를 통한 원격 공격이 불가능한 Local(AV:L) 환경에서만 트리거됩니다. 공격자는 이미 호스트 시스템에 접근하여 VM을 생성하고 제어할 수 있는 낮은 수준의 권한(PR:L)을 보유해야 하며, 복잡한 설정 없이 특정 조건만 충족되면 발동하는 낮은 복잡도(AC:L)를 가집니다. 실제 공격 표면은 Intel CPU의 VMX preemption timer(HV timer)와 Linux 커널 KVM 모듈 내 APIC 타이머 처리 로직에 국한됩니다. 특히 VM이 장기간 정지(pause/suspend)된 후 재개될 때, 과거의 만료 시간을 기준으로 타이머를 맹목적으로 업데이트하며 발생하는 무한 hrtimer IRQ 루프가 핵심 트리거입니다. EPSS 수치가 0.00095로 매우 낮고 KEV에 등재되지 않은 점은 실제 야생(In-the-wild)에서 이 경로를 통한 공격 사례가 거의 없음을 시사합니다. 결과적으로 이는 권한 상승이나 데이터 유출보다는 호스트 시스템의 자원을 고갈시켜 Hard Lockup을 유발하는 서비스 거부(DoS) 형태의 악용 가능성이 지배적입니다.
💥 영향 분석
- 호스트 가용성 상실: 하이퍼바이저(Host) 수준에서 CPU가 IRQ 폭풍에 갇혀 응답 불능 상태(Hard Lockup)가 된다.
- 서비스 중단: 동일 호스트 내의 모든 VM 및 관리 서비스가 함께 정지되는 광범위한 DoS 영향이 발생한다.
🔗 관련 취약점·체이닝
본 취약점은 단독으로 권한 상승을 일으키지는 않으나, 다음과 같은 체이닝 가능성이 있다.
- 추정: 리소스 고갈 $\rightarrow$ 경쟁 상태(Race Condition) 유도: 특정 CPU 코어를 IRQ 폭풍으로 점유시켜 시스템의 타이밍을 왜곡함으로써, 다른 커널 내 Race Condition 취약점의 윈도우를 넓히는 용도로 활용될 수 있다.
- 추정: DoS $\rightarrow$ 페일오버 유도 $\rightarrow$ 타겟 변경: 클러스터 환경에서 특정 노드를 강제로 다운시켜 트래픽을 다른 (취약한) 노드로 몰아넣는 전략적 공격의 시작점으로 사용될 수 있다.
🔎 탐지
- 호스트 로그 분석:
dmesg또는 시스템 로그에서hard lockup관련 커널 덤프나NMI watchdog경고 확인. - 성능 지표: 특정 vCPU 프로세스가 점유하는 CPU 사용량이 급증하며, 인터럽트(IRQ) 발생 빈도가 비정상적으로 치솟는 패턴 탐지.
🛡️ 완화 방안
- 근본 해결: 영향받는 Linux Kernel 버전(4.14.45 ~ 6.18.3 범위 내 해당 버전들)을 최신 보안 패치가 적용된 버전으로 업데이트하여
update_target_expiration()과 유사하게 만료 시간을 "now"로 설정하는 로직을 적용해야 한다. - 즉시 조치: Intel CPU 환경에서 HV timer 사용 설정을 검토하고, 불필요한 VM 중단/재개 사이클이 반복되는 비정상적인 워크로드를 모니터링한다.
[분석 근거] 본 리포트는 다중 소스 데이터의 일관성이 확인된 교차검증 결과를 바탕으로 작성되었다. 실측 EPSS 값은 0.00095(백분위 0.00758)로 매우 낮아 실제 야생에서의 악용 사례는 드물 것으로 예측되나, 공격 난이도가 'hard'임에도 불구하고 호스트 전체를 마비시키는 영향력 때문에 우선순위를 'monitor'로 결정하였다. 이는 이론적 심각도(CVSS 5.5)보다 실질적인 인프라 가용성 리스크에 집중한 결과이다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00095 · exploit=hard · in_scope=None