CVE-2023-52874 x86/tdx: Zero out the missing RSI in TDX_HYPERCALL macro

High 7.1 Published Updated

A missing register zeroing in the Linux kernel TDX hypercall allows a malicious VMM to leak sensitive data via speculative execution.

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

What is CVE-2023-52874?

CVE-2023-52874 is a high-severity vulnerability in Linux kernel, published on 21 May 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:

x86/tdx: Zero out the missing RSI in TDX_HYPERCALL macro

In the TDX_HYPERCALL asm, after the TDCALL instruction returns from the untrusted VMM, the registers that the TDX guest shares to the VMM need to be cleared to avoid speculative execution of VMM-provided values.

RSI is specified in the bitmap of those registers, but it is missing when zeroing out those registers in the current TDX_HYPERCALL.

It was there when it was originally added in commit 752d13305c78 ("x86/tdx: Expand __tdx_hypercall() to handle more arguments"), but was later removed in commit 1e70c680375a ("x86/tdx: Do not corrupt frame-pointer in __tdx_hypercall()"), which was correct because %rsi is later restored in the "pop %rsi". However a later commit 7a3a401874be ("x86/tdx: Drop flags from __tdx_hypercall()") removed that "pop %rsi" but forgot to add the "xor %rsi, %rsi" back.

Fix by adding it back.

Which versions are affected by CVE-2023-52874?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2023-52874?

Apply the vendor's patch.

Is CVE-2023-52874 being exploited?

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

All Linux kernel vulnerabilities

Sources

Also known as BELL-CVE-2023-52874, DEBIAN-CVE-2023-52874, GHSA-5h67-9rvr-r9x6, UBUNTU-CVE-2023-52874.

Is CVE-2023-52874 in your software?

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

Check your SBOMs for free