First published: Tue Nov 05 2024(Updated: )
In the Linux kernel, the following vulnerability has been resolved: KVM: nSVM: Ignore nCR3[4:0] when loading PDPTEs from memory Ignore nCR3[4:0] when loading PDPTEs from memory for nested SVM, as bits 4:0 of CR3 are ignored when PAE paging is used, and thus VMRUN doesn't enforce 32-byte alignment of nCR3. In the absolute worst case scenario, failure to ignore bits 4:0 can result in an out-of-bounds read, e.g. if the target page is at the end of a memslot, and the VMM isn't using guard pages. Per the APM: The CR3 register points to the base address of the page-directory-pointer table. The page-directory-pointer table is aligned on a 32-byte boundary, with the low 5 address bits 4:0 assumed to be 0. And the SDM's much more explicit: 4:0 Ignored Note, KVM gets this right when loading PDPTRs, it's only the nSVM flow that is broken.
Credit: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Software | Affected Version | How to fix |
---|---|---|
Linux Linux kernel | >=3.2<5.10.229 | |
Linux Linux kernel | >=5.11<5.15.170 | |
Linux Linux kernel | >=5.16<6.1.115 | |
Linux Linux kernel | >=6.2<6.6.59 | |
Linux Linux kernel | >=6.7<6.11.6 | |
Linux Linux kernel | =6.12-rc1 | |
Linux Linux kernel | =6.12-rc2 | |
Linux Linux kernel | =6.12-rc3 | |
Linux Linux kernel | =6.12-rc4 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.