Skip to content
CVE PROGRAM SOURCE RECORD8.4 High

CVE-2024-50115

KVM: nSVM: Ignore nCR3[4:0] when loading PDPTEs from memory

Description

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • e4e517b4be019787ada4cbbce2f04570c21b0cbd to < 76ce386feb14ec9a460784fcd495d8432acce7a5affected
  • e4e517b4be019787ada4cbbce2f04570c21b0cbd to < 58cb697d80e669c56197f703e188867c8c54c494affected
  • e4e517b4be019787ada4cbbce2f04570c21b0cbd to < 6876793907cbe19d42e9edc8c3315a21e06c32aeaffected
  • e4e517b4be019787ada4cbbce2f04570c21b0cbd to < 2c4adc9b192a0815fe58a62bc0709449416cc884affected
  • e4e517b4be019787ada4cbbce2f04570c21b0cbd to < 426682afec71ea3f889b972d038238807b9443e4affected
  • e4e517b4be019787ada4cbbce2f04570c21b0cbd to < f559b2e9c5c5308850544ab59396b7d53cfc67bdaffected

Linux Linux

Default version status: affected

  • 3.2affected
  • 0 to < 3.2unaffected
  • 5.10.229 to ≤ 5.10.*unaffected
  • 5.15.170 to ≤ 5.15.*unaffected
  • 6.1.115 to ≤ 6.1.*unaffected
  • 6.6.59 to ≤ 6.6.*unaffected
  • 6.11.6 to ≤ 6.11.*unaffected
  • 6.12 to ≤ *unaffected

References