Skip to content
Fencer Vulns
high 7.8

CVE-2026-72287 json

KVM: nVMX: Move vTPR vs. TPR Threshold consistency check into "normal" checks

published 2026-08-15 2 mo ago modified 2026-08-17 2 mo ago also EUVD-2026-59186

cvss
7.8
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.1%
EPSS 0.1% chance of exploitation in 30 days, percentile 3%
public exploits
0
none known

Summary

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

KVM: nVMX: Move vTPR vs. TPR Threshold consistency check into "normal" checks

Move the off-by-default consistency check for vmcs12.tpr_threshold vs. the virtual APIC vTPR into the "normal" controls checks, as waiting until KVM has loaded some amount of state is unnecessary and actively dangerous. Specifically, failure to unwind vmcs01.GUEST_CR3 to KVM's value when EPT is disabled results in KVM running L1 with an L1-controlled CR3, not with KVM's CR3!

Alternatively, KVM could simply reset the MMU to force a reload of vmcs01.GUEST_CR3, but the _only_ reason the check was shoved into a "late" flow was to wait until the vmcs12 pages were retrieved. Rather than build up more crusty code, simply access vTPR using a regular guest memory access (performance isn't a concern). To circumvent the restrictions that led to KVM deferring nested_get_vmcs12_pages(), (a) use a VM-scoped API to read guest memory so that it always hits non-SMM memslots (for RSM), and (b) skip the check (since its off-by-default anyways) when the vCPU doesn't want to run, i.e. when userspace is restoring/stuffing state.

If reading guest memory fails, simply skip the consistency check, as KVM's de facto ABI is that VMX instruction accesses to non-existent memory get PCI Bus Error semantics, where reads return 0xFFs. And if vTPR=0xFF, then the vTPR is guaranteed to be greater than or equal to TPR_THRESHOLD.

Patch / fix

  • Linux Linux 7.1.5, 7.2
  • linux Debian 14 7.1.5-1

debian advisories DEBIAN-CVE-2026-72287

  • linux Ubuntu 26.04 LTS 7.0.0-34.34
  • linux-aws Ubuntu 26.04 LTS 7.0.0-1013.13
  • linux-gcp Ubuntu 26.04 LTS 7.0.0-1013.13
  • linux-gke Ubuntu 26.04 LTS 7.0.0-1007.8
  • linux-ibm Ubuntu 26.04 LTS 7.0.0-1014.14
  • linux-azure Ubuntu 26.04 LTS 7.0.0-1017.17
  • linux-raspi Ubuntu 26.04 LTS 7.0.0-1020.20
  • linux-riscv Ubuntu 26.04 LTS 7.0.0-34.34.1

ubuntu advisories UBUNTU-CVE-2026-72287

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-72287 updated cvss 7.0

kernel: KVM: nVMX: Move vTPR vs. TPR Threshold consistency check into "normal" checks

  • Red Hat Enterprise Linux 10 kernel
    affected: no fix available
  • Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Exploit prediction

0.14% chance of exploitation in the next 30 days, higher than 3% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 7.8 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H

Affected products

  • Linux Linux

Classification

Technology feeds

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.