CVE Database›Document archive›CVE-2024-50115

CVE-2024-50115

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

Loading…

Severity

Moderate

Red Hat Product Security

4.7

CVSS 3.1

Review impact separately from score.

Published · November 5, 2024

Updated · October 30, 2026

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.

Statement

This vulnerability is rated as Moderate severity for Red Hat Enterprise Linux because exploitation requires an active KVM guest running on AMD hardware with nested virtualization enabled. An attacker with local access in the nested environment would need specific memory slot boundary conditions to trigger the out-of-bounds read. The blast radius is restricted to unauthorized read access of host memory, without permitting code execution or guest-to-host escalation. Furthermore, nested virtualization is not required for standard virtualization deployments, limiting exposure to environments explicitly configured for nested hypervisors.

CVSS score applicability

The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.

Mitigation

To mitigate this issue, prevent module kvm-amd from being loaded. Please see https://access.redhat.com/solutions/41278 for how to blacklist a kernel module to prevent it from loading automatically.

CVSS / CWE

CVSS 3.1 · 4.7
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N

CWE-125 · Out-of-bounds Read