CVE-2026-89931: KVM: nVMX: Ensure KVM_REQ_GET_NESTED_STATE_PAGES is cleared on VM-Exit
In the Linux kernel, the following vulnerability has been resolved:
KVM: nVMX: Ensure KVMREQGETNESTEDSTATEPAGES is cleared on VM-Exit
Always check and clear KVMREQGETNESTEDSTATEPAGES when emulating a nested VM-Exit to ensure the request is cleared, even when KVM was built with CONFIGKVMHYPERV=n, as KVM subtly relies on the "check" to clear the flag and thus avoid double-mapping the vmcs12 pages, e.g. if KVM manages to bail from VM-Enter without processing the request, and then emulates VMLAUNCH or VMRESUME.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.115-2Fixed in 7.2.12-1Fixed in 7.2.15-1 - Upgrade
Upgrade
debian/linux-6.12to a version that resolves this vulnerability.Fixed in 6.12.113-1~deb12u1 - Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1 - Compensating control
When emulating a nested VM-Exit, always check and clear KVM_REQ_GET_NESTED_STATE_PAGES, including when KVM is built with CONFIG_KVM_HYPERV=n, to avoid double-mapping vmcs12 pages.
Event History
Frequently Asked Questions
Is this limited to KVM builds with Hyper-V support enabled?
No. The issue can occur even when KVM is built with CONFIG_KVM_HYPERV=n, because the request check is also relied on to clear the pending flag.
What condition can lead to the problematic state?
The risk arises when KVM exits VM-Enter before processing the nested-state-pages request and subsequently emulates VMLAUNCH or VMRESUME. In that sequence, the stale request can cause the vmcs12 pages to be mapped twice.