[방어] 분석 — CVE-2025-71104
A local DoS vulnerability in KVM x86 HV timer allows a low-privileged user to trigger host hard lockups via VM inactivity, requiring immediate monitoring of hrtimer IRQ spikes and kernel patching.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00095 · 악용난이도 hard
🔍 공격 기법
본 취약점은 Intel CPU의 Hypervisor Timer(HV timer/VMX preemption timer)를 사용하는 KVM 환경에서 발생합니다.
- 트리거: Guest VM이 장기간 비활성 상태(예: Userspace에서 VM을 일시 중지/Suspend)가 되어 target expiration과 현재 시간 사이에 큰 간격이 발생합니다.
- 메커니즘: vCPU가 다시 실행될 때, KVM은 만료된 타이머를 처리하며 target expiration에 주기(period)를 단순히 더해 다음 만료 시간을 설정합니다.
- 결과: 타겟 시간이 과거에 머물러 있는 동안 KVM이 무제한에 가까운
hrtimerIRQ를 생성하며, 이는 Host CPU 자원을 고갈시켜 최종적으로 Host OS의 Hard Lockup(시스템 정지)을 유발합니다.
악용 가능성: 본 취약점의 공격 난이도는 Hard로 평가됩니다. CVSS 벡터상 AV:L 및 PR:L 조건이 적용되어, 공격자가 이미 호스트 시스템에 로그인하여 가상머신(VM)을 생성하고 제어할 수 있는 권한을 가진 상태여야만 트리거가 가능하기 때문입니다. 공격 표면은 Intel CPU 환경의 KVM 하이퍼바이저 타이머(HV timer/VMX preemption timer) 인터페이스로 한정되며, 특히 유저스페이스에서 VM을 장기간 일시 중지(Pause/Suspend)시킨 후 재개하는 특정 시나리오가 전제되어야 합니다. 이 과정에서 hrtimer IRQ가 무한히 생성되어 호스트의 Hard Lockup을 유발하는 DoS 공격 형태를 <0xEB><0x9D><0xB1>니다. EPSS 수치가 0.00095로 매우 낮고 KEV에 등재되지 않은 점은, 해당 취약점이 복잡한 트리거 조건으로 인해 실제 야생(In-the-wild)에서 악용된 사례가 극히 드문 이론적 위협임을 시사합니다. 결과적으로 로컬 권한을 가진 내부자의 고의적인 시스템 마비 유발 가능성은 존재하나, 외부망을 통한 원격 침투나 즉각적인 대규모 확산 가능성은 매우 낮습니다.
💥 영향 분석
- 가용성 파괴 (DoS): 권한이 낮은 로컬 사용자(
PR:L)가 Guest VM 제어권을 통해 Host 시스템 전체를 응답 불능 상태로 만들 수 있습니다. - 영향 범위: Intel CPU 기반의 KVM 가상화 환경을 운영하는 호스트 서버에 국한됩니다.
🔗 관련 취약점·체이닝
- 유형: Resource Exhaustion / Denial of Service.
- 체이닝 가능성: 단독으로 Host 권한 탈취(LPE)를 일으키지는 않으나, 가용성을 무너뜨려 다른 보안 제어 장치를 무력화하거나 서비스 거부 공격의 수단으로 활용될 수 있습니다.
🔎 탐지
본 취약점은 네트워크 패킷이 아닌 커널 내부 인터럽트 폭주로 나타나므로, 호스트 OS 수준의 성능 지표 및 로그 모니터링이 필수적입니다.
1. 주요 탐지 지표
- 로그 위치:
/var/log/syslog,dmesg, 또는journalctl - 패턴:
Hard LOCKUP,NMI watchdog: BUG: soft lockup,hrtimer관련 인터럽트 폭주 메시지.
2. 탐지 규칙 예시 (SIEM/의사코드)
- Rule 1 (CPU IRQ Spike): 특정 vCPU 프로세스가 점유하는 CPU 사용량이 급증하며, 동시에
timer인터럽트 발생 빈도가 임계치를 초과하는 경우.Condition:cpu_usage(vCPU_process) > 90%ANDirq_rate(timer) > [Threshold] samples/sec
- Rule 2 (Kernel Panic/Lockup Log): 커널 로그에서 Hard Lockup 시그니처 탐지.
Pattern:/(Hard LOCKUP|soft lockup|watchdog: BUG)/i
- Rule 3 (VM State Change): 권한이 낮은 사용자가 VM을 빈번하게 Suspend/Resume 시키는 행위 모니터링 (추정: 공격 전조 단계).
3. 오탐 튜닝 및 주의사항
- 오탐 시나리오: 매우 높은 부하가 걸린 정상적인 워크로드에서 일시적으로
soft lockup이 발생할 수 있습니다. - 튜닝 방법: 단순 CPU 사용량 증가가 아니라, 특정 vCPU 스레드와 연동된
hrtimer인터럽트의 기하급수적 증가(Exponential Increase)를 조건으로 추가하여 정밀도를 높여야 합니다.
🛡️ 완화 방안
본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, EPSS 0.00095 및 CVSS 5.5의 수치를 근거로 실제 악용 가능성은 낮으나 영향 범위가 넓어 monitor 우선순위로 결정되었습니다.
1. 즉시 (긴급 차단)
- 조치: Intel CPU 환경에서 HV timer 대신 Software Timer(hrtimer)를 사용하도록 설정 변경 (추정: KVM 모듈 파라미터 또는 VM 설정 확인).
- 난이도/영향/검증: [중] / 가상 머신 타이머 정밀도 저하 가능성 /
kvm_intel모듈 설정 및 Guest 타이머 동작 확인.
2. 단기 (완화)
- 조치: 권한이 낮은 사용자가 VM을 직접 제어(Pause/Suspend)할 수 없도록 권한 제한(
libvirt등 관리 도구의 ACL 강화). - 난이도/영향/검증: [하] / 운영 워크플로우 변경 필요 /
virsh등 관리 명령어 실행 권한 체크.
3. 근본 (해결)
- 조치: 영향받는 Linux Kernel 버전(4.14.45 ~ 6.18.3 범위 내)을 최신 패치 버전으로 업데이트.
- 난이도/영향/검증: [중] / 커널 업데이트 후 리부팅 필요(서비스 중단 발생) /
uname -r로 패치된 커널 버전 확인.
잔여 리스크: 패치 이후에도 다른 타이머 구현체나 유사한 로직의 race condition 취약점이 존재할 가능성이 있으므로, 지속적인 커널 런타임 모니터링이 필요합니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00095 · exploit=hard · in_scope=None