CVSS
Вероятност да бъде експлоатирана в следващите 30 дни (EPSS)
Атакува се
Време до експлоатация
Описание
Оригинално описание
In the Linux kernel, the following vulnerability has been resolved: KVM: SEV: Forcefully invalidate SNP VMSA if its backing gmem page is zapped Wire up a gmem_invalidate_range() call for SNP VMs, and use it to force vCPUs to reload/recheck their guest-provided VMSA if the backing gmem page is being invalidated, e.g. is being PUNCH_HOLE'd. Use the same core logic to handle invalidations as VMX does for the APIC-access page, as the two concepts are nearly identical: shove the physical address of a page into the vCPU's control structure: 1. Snapshot the invalidation sequence counter 2. Grab the pfn (from guest_memfd in this case) 3. Acquire mmu_lock for read 4. Re-request reload if retry is needed, otherwise commit the change. Note, the re-request action in #4 is necessary as KVM's retry logic is fuzzy, i.e. can get false positives. If the guest_memfd page has been dropped, at some point a subsequent reload will fail to get a PFN from guest_memfd, and KVM will fail KVM_RUN. If the retry was due to a false positive, KVM will retry until there are no relevant MMU notifier events (and will retry in the "outer" loop, i.e. will drop locks and resched as needed). Note #2! Take care to invalidate the VMSA when a relevant memslot is DELETED or MOVED, as invalidations in response to PUNCH_HOLE are predicated on memslot bindings (KVM doesn't know what GFN range(s) to invalidate without a binding). And more importantly, the VMSA mapping requires a memslot, i.e. must be invalidated if its memslots disappears, regardless of the state of the underlying guest_memfd inode. Failure to invalidate the vCPU's control.vmsa_pa (which is checked by pre_sev_run()) can prevent KVM from properly freeing the page as firmware will reject the RMPUPDATE to reclaim the page with FAIL_INUSE if the vCPU is actively running, i.e. if VMSA page is in-use. That in turn leads to an RMP #PF on the next use, as the page will still be assigned to the SNP VM. SEV-SNP: RMPUPDATE failed for PF
Засегнати продукти
- Linux Linux: e366f92ea99e1961fbad5e2110900e9f4fcb249b преди ef4dee4640c6adc3051401399b0788135e77d50b; e366f92ea99e1961fbad5e2110900e9f4fcb249b преди 2640cc26ed0dd1bf6ec2f6852a60e494093db3e5; e366f92ea99e1961fbad5e2110900e9f4fcb249b преди d1a3c216233413f57f5341a9b878b7e2dde7e785
- Linux Linux: 6.11; преди 6.11; 6.18.57 до 6.18.*; 7.2.5 до 7.2.*; от 7.3 нататък
История
- 16 септември 2026 Публикувано
Други уязвимости в Linux Linux
Първоизточници
- https://www.cve.org/CVERecord?id=CVE-2026-90040
- https://nvd.nist.gov/vuln/detail/CVE-2026-90040
- https://git.kernel.org/stable/c/ef4dee4640c6adc3051401399b0788135e77d50b
- https://git.kernel.org/stable/c/2640cc26ed0dd1bf6ec2f6852a60e494093db3e5
- https://git.kernel.org/stable/c/d1a3c216233413f57f5341a9b878b7e2dde7e785