CVE-2023-53438

x86/MCE: Always save CS register on AMD Zen IF Poison errors

Medium · published September 18, 2025

CVSS v3.1
5.5
EPSS
0%
Percentile
3.7
In the wild
Unconfirmed
What it is

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

x86/MCE: Always save CS register on AMD Zen IF Poison errors

The Instruction Fetch (IF) units on current AMD Zen-based systems do not

guarantee a synchronous #MC is delivered for poison consumption errors.

Therefore, MCG_STATUS[EIPV|RIPV] will not be set. However, the

microarchitecture does guarantee that the exception is delivered within

the same context. In other words, the exact rIP is not known, but the

context is known to not have changed.

There is no architecturally-defined method to determine this behavior.

The Code Segment (CS) register is always valid on such IF unit poison

errors regardless of the value of MCG_STATUS[EIPV|RIPV].

Add a quirk to save the CS register for poison consumption from the IF

unit banks.

This is needed to properly determine the context of the error.

Otherwise, the severity grading function will assume the context is

IN_KERNEL due to the m->cs value being 0 (the initialized value). This

leads to unnecessary kernel panics on data poison errors due to the

kernel believing the poison consumption occurred in kernel context.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00148 · 3.7th percentile
Published
2025-09-18T16:04Z
EPSS history
Timeline
  • 18 SEP 16:04Z
    x86/MCE: Always save CS register on AMD Zen IF Poison errors
    cvelistv5