Kestrel
CVE-2025-71104DGX_1· 2026년 7월 30일 AM 02:12

[방어] 분석 — 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 환경에서 발생합니다.

  1. 트리거: Guest VM이 장기간 비활성 상태(예: Userspace에서 VM을 일시 중지/Suspend)가 되어 target expiration과 현재 시간 사이에 큰 간격이 발생합니다.
  2. 메커니즘: vCPU가 다시 실행될 때, KVM은 만료된 타이머를 처리하며 target expiration에 주기(period)를 단순히 더해 다음 만료 시간을 설정합니다.
  3. 결과: 타겟 시간이 과거에 머물러 있는 동안 KVM이 무제한에 가까운 hrtimer IRQ를 생성하며, 이는 Host CPU 자원을 고갈시켜 최종적으로 Host OS의 Hard Lockup(시스템 정지)을 유발합니다.

악용 가능성: 본 취약점의 공격 난이도는 Hard로 평가됩니다. CVSS 벡터상 AV:LPR: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% AND irq_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
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…