CVE-2025-71104

MEDIUMNVD 5.55.5
EchelonGraph scoreMEDIUM confidence

Score 5.5 from GitHub Security Advisory published 2026-01-14. NVD baseline CVSS 5.5; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
Trending — 3 sources updated this week
5.5
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS: 0%CVSS: 5.5Exploit: NoneExposed: 0

A fix is available — apply it.

In the Linux kernel, the following vulnerability has been resolved:

KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer

When advancing the target expiration for the guest's APIC timer in periodic mode, set the expiration to "now" if the target expiration is in the past (similar to what is done in update_target_expiration()). Blindly adding the period to the previous target expiration can result in KVM generating a practically unbounded number of hrtimer IRQs due to programming an expired timer over and over. In extreme scenarios, e.g. if userspace pauses/suspends a VM for an extended duration, this can even cause hard lockups in the host.

Currently, the bug only affects Intel CPUs when using the hypervisor timer (HV timer), a.k.a. the VMX preemption timer. Unlike the software timer, a.k.a. hrtimer, which KVM keeps running even on exits to userspace, the HV timer only runs while the guest is active. As a result, if the vCPU does not run for an extended duration, there will be a huge gap between the target expiration and the current time the vCPU resumes running. Because the target expiration is incremented by only one period on each timer expiration, this leads to a series of timer expirations occurring rapidly after the vCPU/VM resumes.

More critically, when the vCPU first triggers a periodic HV timer expiration after resuming, advancing the expiration by only one period will result in a target expiration in the past. As a result, the delta may be calculated as a negative value. When the delta is converted into an absolute value (tscdeadline is an unsigned u64), the resulting value can overflow what the HV timer is capable of programming. I.e. the large value will exceed the VMX Preemption Timer's maximum bit width of cpu_preemption_timer_multi + 32, and thus cause KVM to switch from the HV timer to the software timer (hrtimers).

After switching to the software timer, periodic timer expiration callbacks may be executed consecutively within a single clock interrupt handler, because hrtimers honors KVM's request for an expiration in the past and immediately re-invokes KVM's callback after reprogramming. And because the interrupt handler runs with IRQs disabled, restarting KVM's hrtimer over and over until the target expiration is advanced to "now" can result in a hard lockup.

E.g. the following hard lockup was triggered in the host when running a Windows VM (only relevant because it used the APIC timer in periodic mode) after resuming the VM from a long suspend (in the host).

NMI watchdog: Watchdog detected hard LOCKUP on cpu 45 ... RIP: 0010:advance_periodic_target_expiration+0x4d/0x80 [kvm] ... RSP: 0018:ff4f88f5d98d8ef0 EFLAGS: 00000046 RAX: fff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc RDX: 0000000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500 RBP: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0 R10: 0122d794016332b3 R11: 0000000000000000 R12: ff440db1af39cfc0 R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8 FS: 00007f04a6ffd700(0000) GS:ff440db1af380000(0000) knlGS:000000e38a3b8000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000d5651feff8 CR3: 000000684e038002 CR4: 0000000000773ee0 PKRU: 55555554 Call Trace: apic_timer_fn+0x31/0x50 [kvm] __hrtimer_run_queues+0x100/0x280 hrtimer_interrupt+0x100/0x210 ? ttwu_do_wakeup+0x19/0x160 smp_apic_timer_interrupt+0x6a/0x130 apic_timer_interrupt+0xf/0x20

Moreover, if the suspend duration of the virtual machine is not long enough to trigger a hard lockup in this scenario, since commit 98c25ead5eda ("KVM: VMX: Move preemption timer <=> hrtimer dance to common x86"), KVM will continue using the software timer until the guest reprograms the APIC timer in some way. Since the periodic timer does not require frequent APIC timer register programming, the guest may continue to use the software timer in ---truncated---

CVSS v3
5.5
EG Score
5.5(medium)
EG Risk
25(Track)
EG Risk 25/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity55% × 45%
Exploitation0% × 40%
Automatability0% × 15%
Action: Routine — remediate on your standard cadence.
EPSS
0.8%
KEV
Not listed

Published

January 14, 2026

Last Modified

July 14, 2026

Advisory Details (8)

Auto-updated Jul 19, 2026
No patch confirmed yet.
generic

KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/e746e51947053a02af2ea964593dc4887108d379
generic

KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/e23f46f1a971c73dad2fd63e1408696114ddebe2
generic

KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/d2da0df7bbc4fb4fd7d0a1da704f81a09c72fe73
generic

KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/807dbe8f3862fa7c164155857550ce94b36a11b9
generic

KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/7b54ccef865e0aa62e4871d4ada2ba4b9dcb8bed
generic

KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/786ed625c125c5cd180d6aaa37e653e3e4ffb8d9
generic

KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/18ab3fc8e880791aa9f7c000261320fc812b5465

Vendor Advisories for CVE-2025-71104(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Patch Availability(30)

Vendor / EcosystemFixed in / PatchReleasedSource
ubuntulinux-xilinx-zynqmp-tools-5.15.0-1067 (5.15.0-1067.71) @ jammy2026-05-29ubuntu
ubuntulinux-tools-gcp-fips-5.15 (5.15.0.1103.93) @ jammy2026-05-29ubuntu
ubuntulinux-tools-azure-lts-22.04 (5.15.0.1109.107) @ jammy2026-05-29ubuntu
ubuntulinux-tools-gke-5.15 (5.15.0.1099.98) @ jammy2026-05-29ubuntu
ubuntulinux-tools-intel-iot-realtime-5.15 (5.15.0.1094.98) @ jammy2026-05-29ubuntu
ubuntulinux-tools-raspi-nolpae (5.15.0.1097.95) @ jammy2026-05-29ubuntu
ubuntulinux-tools-realtime-5.15 (5.15.0.1102.106) @ jammy2026-05-29ubuntu
ubuntulinux-tools-nvidia-tegra-igx-rt-5.15 (5.15.0.1044.46) @ jammy2026-05-29ubuntu
ubuntulinux-tools-azure-fips-5.15 (5.15.0.1109.94) @ jammy2026-05-29ubuntu
ubuntulinux-tools-nvidia-64k-6.8 (6.8.0-1051.54) @ noble2026-05-29ubuntu
ubuntulinux-virtual-hwe-24.04-edge (6.17.0-22.22) @ questing2026-05-29ubuntu
ubuntulinux-virtual-6.8 (6.8.0-110.110) @ noble2026-05-29ubuntu
ubuntulinux-tools-gcp-fips-6.8 (6.8.0-1054.57+fips1) @ noble2026-05-29ubuntu
ubuntulinux-tools-gcp-64k-6.17 (6.17.0-1012.12) @ questing2026-05-29ubuntu
ubuntulinux-tools-realtime-6.8.1 (6.8.1-1047.48) @ noble2026-05-29ubuntu
ubuntulinux-tools-realtime-hwe-24.04-edge (6.17.0-1010.11~24.04.1) @ noble2026-05-29ubuntu
ubuntulinux-tools-raspi-realtime-6.8 (6.8.0-2042.43) @ noble2026-05-29ubuntu
ubuntulinux-tools-oracle-64k-6.17 (6.17.0-1011.11) @ questing2026-05-29ubuntu
ubuntulinux-tools-raspi-6.8 (6.8.0-1052.56) @ noble2026-05-29ubuntu
ubuntulinux-tools-oracle-lts-24.04 (6.8.0-1049.50) @ noble2026-05-29ubuntu
ubuntulinux-tools-nvidia-lowlatency-64k-6.8 (6.8.0-1051.54.1) @ noble2026-05-29ubuntu
ubuntulinux-tools-azure-6.17 (6.17.0-1013.13) @ questing2026-05-29ubuntu
ubuntulinux-tools-azure-lts-24.04 (6.8.0-1054.60) @ noble2026-05-29ubuntu
ubuntulinux-tools-azure-fips-6.8 (6.8.0-1054.60+fips1) @ noble2026-05-29ubuntu
ubuntulinux-xilinx-zynqmp (6.8.0.1029.30) @ noble2026-05-29ubuntu
ubuntulinux-tools-gcp-edge (6.8.0-1054.57~22.04.1) @ jammy2026-05-29ubuntu
ubuntulinux-tools-azure-edge (5.15.0.1110.119~20.04.1) @ focal2026-05-29ubuntu
ubuntulinux-tools-raspi-6.17 (6.17.0-1014.14) @ questing2026-05-29ubuntu
ubuntulinux-tools-nvidia-tegra-rt-6.8 (6.8.0-1022.22) @ noble2026-05-29ubuntu
linuxKernel @ 5.10.248osv

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

All Vendor Advisories

(25)

Every vendor that published an advisory referencing this CVE — pulled from our cve_vendor_advisories aggregation. Click any row for the vendor's original advisory page.

Data Freshness Timeline

(refreshed 14× in last 7d / 48× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-07-24 14:17 UTCEPSS rescore
  2. 2026-07-23 14:18 UTCEPSS rescore
  3. 2026-07-23 14:18 UTCEPSS rescore
  4. 2026-07-23 10:19 UTCOSV refresh
  5. 2026-07-23 03:03 UTCEG score recompute
  6. 2026-07-22 14:08 UTCEPSS rescore
  7. 2026-07-21 15:24 UTCEPSS rescore
  8. 2026-07-20 17:08 UTCEPSS rescore
  9. 2026-07-19 14:30 UTCEPSS rescore
  10. 2026-07-19 14:30 UTCEPSS rescore
  11. 2026-07-19 02:28 UTCEPSS rescore
  12. 2026-07-19 02:28 UTCEPSS rescore
  13. 2026-07-18 10:04 UTCEPSS rescore
  14. 2026-07-18 10:04 UTCEPSS rescore
  15. 2026-07-16 17:02 UTCEPSS rescore
  16. 2026-07-16 17:02 UTCEPSS rescore
  17. 2026-07-15 16:57 UTCEPSS rescore
  18. 2026-07-15 16:57 UTCEPSS rescore
  19. 2026-07-15 02:00 UTCEPSS rescore
  20. 2026-07-15 01:59 UTCEPSS rescore
  21. 2026-07-14 13:19 UTCNVD updateCVSS v3 → 5.5 · severity → MEDIUM
  22. 2026-07-13 06:12 UTCEPSS rescore
  23. 2026-07-12 05:46 UTCEPSS rescore
  24. 2026-07-12 05:46 UTCEPSS rescore
  25. 2026-07-11 08:27 UTCEPSS rescore
Show 71 more
  1. 2026-07-11 08:27 UTCEPSS rescore
  2. 2026-07-09 19:10 UTCEPSS rescore
  3. 2026-07-08 15:15 UTCEPSS rescore
  4. 2026-07-07 13:46 UTCEPSS rescore
  5. 2026-07-06 16:27 UTCEPSS rescore
  6. 2026-07-06 05:32 UTCOSV refresh
  7. 2026-07-06 02:23 UTCEPSS rescore
  8. 2026-07-05 02:30 UTCEPSS rescore
  9. 2026-07-05 02:30 UTCEPSS rescore
  10. 2026-07-04 06:31 UTCEPSS rescore
  11. 2026-07-04 06:31 UTCEPSS rescore
  12. 2026-07-01 15:06 UTCEPSS rescore
  13. 2026-06-30 23:22 UTCEPSS rescore
  14. 2026-06-30 23:22 UTCEPSS rescore
  15. 2026-06-29 14:06 UTCEPSS rescore
  16. 2026-06-29 14:06 UTCEPSS rescore
  17. 2026-06-28 14:07 UTCEPSS rescore
  18. 2026-06-28 14:07 UTCEPSS rescore
  19. 2026-06-28 04:56 UTCEPSS rescore
  20. 2026-06-28 04:56 UTCEPSS rescore
  21. 2026-06-27 03:08 UTCEPSS rescore
  22. 2026-06-25 13:49 UTCEPSS rescore
  23. 2026-06-25 13:49 UTCEPSS rescore
  24. 2026-06-24 14:05 UTCEPSS rescore
  25. 2026-06-24 14:04 UTCEPSS rescore
  26. 2026-06-23 21:32 UTCEPSS rescore
  27. 2026-06-22 14:25 UTCEPSS rescore
  28. 2026-06-22 14:25 UTCEPSS rescore
  29. 2026-06-21 01:59 UTCEPSS rescore
  30. 2026-06-21 01:59 UTCEPSS rescore
  31. 2026-06-19 19:25 UTCEPSS rescore
  32. 2026-06-19 19:25 UTCEPSS rescore
  33. 2026-06-18 17:52 UTCEPSS rescore
  34. 2026-06-18 17:52 UTCEPSS rescore
  35. 2026-06-17 17:53 UTCEPSS rescore
  36. 2026-06-17 17:05 UTCOSV refresh
  37. 2026-06-16 17:52 UTCEPSS rescore
  38. 2026-06-15 17:48 UTCEPSS rescore
  39. 2026-06-14 23:18 UTCMITRE cvelistV5
  40. 2026-06-14 23:18 UTCEPSS rescore
  41. 2026-06-13 23:00 UTCEPSS rescore
  42. 2026-06-13 23:00 UTCEPSS rescore
  43. 2026-06-12 23:12 UTCEPSS rescore
  44. 2026-06-12 23:12 UTCEPSS rescore
  45. 2026-06-11 14:00 UTCEPSS rescore
  46. 2026-06-10 22:18 UTCEPSS rescore
  47. 2026-06-10 13:22 UTCEPSS rescore
  48. 2026-06-08 14:17 UTCEPSS rescore
  49. 2026-06-08 14:17 UTCEPSS rescore
  50. 2026-06-07 15:24 UTCEPSS rescore
  51. 2026-06-07 15:24 UTCEPSS rescore
  52. 2026-06-06 13:47 UTCEPSS rescore
  53. 2026-06-06 13:47 UTCEPSS rescore
  54. 2026-06-05 22:47 UTCEPSS rescore
  55. 2026-06-05 22:46 UTCEPSS rescore
  56. 2026-06-05 06:10 UTCEPSS rescore
  57. 2026-06-05 06:10 UTCEPSS rescore
  58. 2026-06-04 13:12 UTCEPSS rescore
  59. 2026-06-04 13:12 UTCEPSS rescore
  60. 2026-06-02 20:13 UTCEPSS rescore
  61. 2026-06-01 13:51 UTCEPSS rescore
  62. 2026-06-01 13:51 UTCEPSS rescore
  63. 2026-05-31 22:30 UTCEPSS rescore
  64. 2026-05-31 22:30 UTCEPSS rescore
  65. 2026-05-31 00:16 UTCEPSS rescore
  66. 2026-05-31 00:16 UTCEPSS rescore
  67. 2026-05-29 16:00 UTCEG score recompute
  68. 2026-05-29 16:00 UTCVendor advisory
  69. 2026-05-29 15:59 UTCGHSA enrichment
  70. 2026-05-29 13:44 UTCEPSS rescore
  71. 2026-05-29 13:44 UTCEPSS rescore

Frequently asked(5)

What is CVE-2025-71104?
CVE-2025-71104 is a medium vulnerability published on January 14, 2026. In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer When advancing the target expiration for the guest's APIC timer in periodic mode, set the expiration to "now" if the target expiration is in the past…
When was CVE-2025-71104 disclosed?
CVE-2025-71104 was first published in the National Vulnerability Database on January 14, 2026, with the most recent update on July 14, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2025-71104 actively exploited?
CVE-2025-71104 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.8% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2025-71104?
CVE-2025-71104 has a CVSS v3 base score of 5.5 (NVD).
How do I remediate CVE-2025-71104?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2025-71104, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2025-71104

Explore →

Is Your Infrastructure Affected by CVE-2025-71104?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.