CVE-2026-98863: KVM: x86: Re-pend GET_NESTED_STATE_PAGES if getting said pages fails

Published Oct 18, 2026
·
Updated

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

KVM: x86: Re-pend GETNESTEDSTATEPAGES if getting said pages fails

Re-pend GETNESTEDSTATEPAGES before exiting to userspace if getting the nested pages fails in the KVMRUN path. If userspace re-runs the vCPU, and vmcs02 holds valid PFNs from the previous run of L2, then KVM could re-enter L2 with stale, unpinned PFNs mapped into e.g. the vAPIC page.

Note, both SVM and VMX (as of commit 11722439fb20 ("KVM: nVMX: Ensure KVMREQGETNESTEDSTATEPAGES is cleared on VM-Exit") ensure the request is cleared on VM-Exit (including the "forced" case), i.e. there is no risk of double-mapping due to emulated VMLAUNCH/VMRESUME/VMRUN and the request trying to map the nested pages.

Affected Software

1 affected component
Linux Linux kernel

Event History

Oct 18, 2026
CVE Published
via MITRE·03:51 PM
Data Sourced
via MITRE·03:51 PM
Description
Data Sourced
via NVD·04:17 PM
Description

Frequently Asked Questions

1

Which systems are exposed to this issue?

The issue affects Linux kernel KVM on x86 when nested virtualization is in use. The described stale-PFN condition involves re-entering an L2 guest after retrieval of nested-state pages fails.

2

What conditions are needed to trigger the stale mapping scenario?

Getting nested-state pages must fail during the KVM_RUN path, userspace must then run the vCPU again, and vmcs02 must retain valid PFNs from a previous L2 run. Under those conditions, KVM could re-enter L2 with stale, unpinned PFNs, for example in the vAPIC page mapping.

3

Is there a described risk of double-mapping from emulated nested-virtualization instructions?

No. The data states that both SVM and VMX clear the GET_NESTED_STATE_PAGES request on VM-Exit, including forced exits, preventing double-mapping through emulated VMLAUNCH, VMRESUME, or VMRUN combined with the request.

4

What does the fix change?

The fix re-pends GET_NESTED_STATE_PAGES before KVM exits to userspace when obtaining the nested pages fails. This ensures the nested pages are requested again before a subsequent vCPU run.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203