Skip to content
Heist/ feed
Critical

KVM: arm64: vgic: Handle race between interrupt affinity change and LPI disabling

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: vgic: Handle race between interrupt affinity change and LPI disabling Hyunwoo Kim reports some really bad races should the following situation occur: - LPI-I is pending in vcpu-B's AP list - vcpu-A writes to vcpu-B's RD to disable its LPIs - vcpu-C moves I from B to C If the last two race nicely enough, vgic_prune_ap_list() can drop the irq and AP list locks, reacquire them, and in the interval the irq has been freed. UAF follows. The fix is two-fold: - Before dropping the irq and ap_list locks, take a reference on the irq - Do not try to handle migration of the pending bit: there is no expectation that this state is retained, as per the architecture With that, we're sure that the interrupt is still around, and we safely remove it from the AP list as it has no target at this stage (unless another interrupt fires, but that's another story).

Announced Group revision 1
Original source ↗

CVE-2026-72288

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-2026-72288

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": "5dd4b924e390af426e424d5e52c1b4d1566af817",
        "lessThan": "eb74f3feb68e64cf69f86cb806a15d8cfb6757f4",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "5dd4b924e390af426e424d5e52c1b4d1566af817",
        "lessThan": "77c61235d66246dd6a5f55587f0afc273d832775",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "5dd4b924e390af426e424d5e52c1b4d1566af817",
        "lessThan": "d19dca8194ebed371e624331c6be2cb73b562caf",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "5dd4b924e390af426e424d5e52c1b4d1566af817",
        "lessThan": "b1a89d12d35a8256d2b170ced0b1c86851f3def2",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "5dd4b924e390af426e424d5e52c1b4d1566af817",
        "lessThan": "7258770e5814f15e8308ebda82ac9acf6964ba8e",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "arch/arm64/kvm/vgic/vgic.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.8"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "4.8",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "6.6.160",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.114",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.18.40",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "7.1.5",
        "versionType": "semver",
        "lessThanOrEqual": "7.1.*"
      },
      {
        "status": "unaffected",
        "version": "7.2",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "arch/arm64/kvm/vgic/vgic.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-72288

Source reference: /cveMetadata/cveId

Publisher severity

critical

Source reference: /containers/cna/metrics

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