CVE-2024-50115CWE-125

CVE-2024-50115

High · published November 5, 2024

CVSS v3.1
8.4
EPSS
0%
Percentile
14.9
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
8.4 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00245 · 14.9th percentile
Weakness
CWE-125 · Out-of-bounds Read
Published
2024-11-05T23:15Z
Affected products (9)
ProductVersionsFixed in
linux/linux_kernel≥ 3.2, < 5.10.2295.10.229
linux/linux_kernel≥ 5.11, < 5.15.1705.15.170
linux/linux_kernel≥ 5.16, < 6.1.1156.1.115
linux/linux_kernel≥ 6.2, < 6.6.596.6.59
linux/linux_kernel≥ 6.7, < 6.11.66.11.6
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (8)
EPSS history
Timeline
  • 05 NOV 17:10Z
    KVM: nSVM: Ignore nCR3[4:0] when loading PDPTEs from memory
    cvelistv5