Skip to content
Heist/ feed
Unrated

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

Type: advisorySource: Official CVE List1 source record

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 c

Announced Group revision 1
Original source ↗

CVE-2025-71104

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2025-71104

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "d8f2f498d9ed0c5010bc1bbc1146f94c8bf9f8cc",
        "lessThan": "786ed625c125c5cd180d6aaa37e653e3e4ffb8d9",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "d8f2f498d9ed0c5010bc1bbc1146f94c8bf9f8cc",
        "lessThan": "d2da0df7bbc4fb4fd7d0a1da704f81a09c72fe73",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "d8f2f498d9ed0c5010bc1bbc1146f94c8bf9f8cc",
        "lessThan": "807dbe8f3862fa7c164155857550ce94b36a11b9",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "d8f2f498d9ed0c5010bc1bbc1146f94c8bf9f8cc",
        "lessThan": "7b54ccef865e0aa62e4871d4ada2ba4b9dcb8bed",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "d8f2f498d9ed0c5010bc1bbc1146f94c8bf9f8cc",
        "lessThan": "e746e51947053a02af2ea964593dc4887108d379",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "d8f2f498d9ed0c5010bc1bbc1146f94c8bf9f8cc",
        "lessThan": "e23f46f1a971c73dad2fd63e1408696114ddebe2",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "d8f2f498d9ed0c5010bc1bbc1146f94c8bf9f8cc",
        "lessThan": "18ab3fc8e880791aa9f7c000261320fc812b5465",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "421e1fadb0b0a648cc75afd5b3c826fa7daeaffc",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "5a69b7b69beae9bb86e7e1b095685087976cba47",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "4.14.45",
        "lessThan": "4.15",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "4.16.13",
        "lessThan": "4.17",
        "versionType": "semver"
      }
    ],
    "programFiles": [
      "arch/x86/kvm/lapic.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "4.17"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "4.17",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "5.10.248",
        "versionType": "semver",
        "lessThanOrEqual": "5.10.*"
      },
      {
        "status": "unaffected",
        "version": "5.15.198",
        "versionType": "semver",
        "lessThanOrEqual": "5.15.*"
      },
      {
        "status": "unaffected",
        "version": "6.1.160",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.6.120",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.64",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.18.3",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "6.19",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "arch/x86/kvm/lapic.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2025-71104

Source reference: /cveMetadata/cveId

Publisher severity

No explicit severity was provided.

Event
#39154 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement