CVE-2023-52874

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

MEDIUM
5.5
CVSS Score
Published: May 21, 2024 at 03:32 PM UTC
Updated: August 5, 2026 at 10:24 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.3%
SSVC
No known exploit

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

6.4 ≤ v < 6.5.126.4 ≤ v < 6.6.26.4 ≤ v < 6.76.6 ≤ v < 6.6.26.47a3a401874bea02f568aa416ac29170d8cde0dc2
Vendor states this is fixed in 2191950d35d8f81620ea8d4e04d983f664fe3a8a (fixed)
Vendor states this is fixed in 5d092b66119d774853cc9308522620299048a662 (fixed)
Vendor states this is fixed in de4c5bacca4f50233f1f791bec9eeb4dee1b14cd (fixed)
Vendor states this is fixed in 6.4 (unaffected)
Vendor states this is fixed in 6.5.12 (unaffected)
Vendor states this is fixed in 6.6.2 (unaffected)
Vendor states this is fixed in 6.7 (unaffected)

References (3)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/2191950d35d8f81620ea8d4e04d983f664fe3a8a
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/5d092b66119d774853cc9308522620299048a662
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/de4c5bacca4f50233f1f791bec9eeb4dee1b14cd

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
NONE
Availability
NONE
Vector?

Quick Info

StatusMODIFIED
CWE
NVD-CWE-Other

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card