CVE-2024-53135 KVM: VMX: Bury Intel PT virtualization (guest/host mode) behind CONFIG_BROKEN

High 8.8 Published Updated

A flaw in Linux kernel KVM Intel PT virtualization allows host instability or guest crashes due to missing validation, requiring CONFIG_BROKEN to be enabled.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2024-53135?

CVE-2024-53135 is a high-severity denial of service vulnerability in Linux kernel, published on 4 Dec 2024. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

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.

Which versions are affected by CVE-2024-53135?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2024-53135?

Apply the vendor's patch.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2024-53135 being exploited?

There is no known exploitation of CVE-2024-53135 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as AZL-54141, AZL-54200, BELL-CVE-2024-53135, DEBIAN-CVE-2024-53135, GHSA-7gvv-gph6-2hpj, UBUNTU-CVE-2024-53135.

Is CVE-2024-53135 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free