CVE-2024-53135

CVE-2024-53135

High · published December 4, 2024

CVSS v3.1
8.8
EPSS
0%
Percentile
14.2
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

KVM: VMX: Bury Intel PT virtualization (guest/host mode) behind CONFIG_BROKEN

Hide KVM's pt_mode module param behind CONFIG_BROKEN, i.e. disable support

for virtualizing Intel PT via guest/host mode unless BROKEN=y. There are

myriad bugs in the implementation, some of which are fatal to the guest,

and others which put the stability and health of the host at risk.

For guest fatalities, the most glaring issue is that KVM fails to ensure

tracing is disabled, and *stays* disabled prior to VM-Enter, which is

necessary as hardware disallows loading (the guest's) RTIT_CTL if tracing

is enabled (enforced via a VMX consistency check). Per the SDM:

If the logical processor is operating with Intel PT enabled (if

IA32_RTIT_CTL.TraceEn = 1) at the time of VM entry, the "load

IA32_RTIT_CTL" VM-entry control must be 0.

On the host side, KVM doesn't validate the guest CPUID configuration

provided by userspace, and even worse, uses the guest configuration to

decide what MSRs to save/load at VM-Enter and VM-Exit. E.g. configuring

guest CPUID to enumerate more address ranges than are supported in hardware

will result in KVM trying to passthrough, save, and load non-existent MSRs,

which generates a variety of WARNs, ToPA ERRORs in the host, a potential

deadlock, etc.

The record
Technical detail
CVSS v3.1
8.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00239 · 14.2th percentile
Published
2024-12-04T20:15Z
Affected products (10)
ProductVersionsFixed in
linux/linux_kernel≥ 5.0, < 6.1.1196.1.119
linux/linux_kernel≥ 6.2, < 6.6.636.6.63
linux/linux_kernel≥ 6.7, < 6.11.106.11.10
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (9)
EPSS history
Timeline
  • 04 DEC 14:20Z
    KVM: VMX: Bury Intel PT virtualization (guest/host mode) behind CONFIG_BROKEN
    cvelistv5