KVM: x86: Re-pend GET_NESTED_STATE_PAGES if getting said pages fails
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.18.56, 7.2.10
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Re-pend GET_NESTED_STATE_PAGES if getting said pages fails Re-pend GET_NESTED_STATE_PAGES before exiting to userspace if getting the nested pages fails in the KVM_RUN 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 KVM_REQ_GET_NESTED_STATE_PAGES 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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 671ddc700fd08b94967b1e2a937020e30c838609 · fixed in 525694a6021ec6c8f7ce1f38acdf2dd77698fec1; From 671ddc700fd08b94967b1e2a937020e30c838609 · fixed in 942192dbcd3a06695ef6b31cf10a41a21cf014d8; From 671ddc700fd08b94967b1e2a937020e30c838609 · fixed in 10180a277549339020b08000206092c07e0bff5a
- Linux Linux
5.4
- KernelLinux
From 5.4.0 · fixed in 6.18.56; From 6.19.0 · fixed in 7.2.10