CVE-2026-98894 in Linuxinfo

Summary

by MITRE • 10/23/2026

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

drm/amd/ras: reset CPER ring on corrupt entry size

When CPER ring overflow handling advances the read pointer, it trusts the parsed entry size from the current ring contents. Corrupt CPER data can produce an entry size that does not advance rptr after dword conversion and pointer masking.

In that case the recovery loop keeps testing the same location while holding the CPER ring mutex. This can hang the worker that is writing the next CPER record.

Detect a no-progress rptr update and reset the CPER ring to an empty state instead. This drops the corrupt contents and lets the writer leave the recovery path without spinning.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 10/23/2026

The vulnerability identified in the Linux kernel's DRM AMD RAS subsystem involves a critical flaw in how the system handles corrupted Common Platform Error Record (CPER) data within its error reporting ring buffer. The CPER mechanism is essential for capturing hardware errors, particularly those related to Advanced Micro Devices processors and GPUs, allowing the operating system to log and potentially recover from fatal or non-fatal faults. Under normal operation, when a CPER ring overflow occurs, the kernel advances a read pointer based on the size of the error record contained in the buffer. However, this process relies heavily on trusting the parsed entry size derived directly from the current contents of the ring without sufficient validation against expected bounds or structural integrity checks.

When hardware malfunctions produce corrupt data within the CPER ring, it is possible for the extracted entry size to be invalid after dword conversion and pointer masking operations result in a value that does not advance the read pointer as intended. This logical error creates a scenario where the recovery loop fails to make progress because it continues to inspect the same memory location repeatedly. Since this operation occurs while holding the CPER ring mutex, which is designed to serialize access to the shared buffer between hardware writers and software readers, the failure to advance the pointer results in a deadlock condition. The worker thread responsible for writing new CPER records becomes blocked indefinitely because it cannot acquire the mutex held by the stuck recovery loop, effectively causing a system hang or severe performance degradation depending on the context of the error handling path.

From a security and reliability perspective, this flaw represents a denial-of-service vector that can be triggered by hardware faults rather than malicious user input, although certain edge cases involving crafted memory states could potentially exacerbate the issue. The lack of progress detection allows an attacker or faulty component to exhaust system resources by keeping critical locks held indefinitely. This aligns with CWE-835, which describes a loop that consumes excessive time due to missing exit conditions, and can be mapped to MITRE ATT&CK techniques related to resource exhaustion such as T1496 if leveraged in specific exploit scenarios involving hardware emulation or fault injection. The vulnerability highlights the risks associated with trusting unvalidated data structures within low-level kernel subsystems where performance optimizations often bypass rigorous sanity checks.

To mitigate this issue, the resolution involves implementing a robust detection mechanism for non-progressing read pointer updates. Instead of allowing the recovery loop to spin indefinitely on corrupt entries, the system now detects when no progress has been made and forcibly resets the CPER ring to an empty state. This approach discards the corrupted data that caused the deadlock and releases the mutex, thereby allowing the writer process to proceed with logging new error records. This fix ensures system stability by preventing indefinite blocking of critical hardware monitoring threads. Administrators should ensure their systems are updated with kernel patches containing this specific DRM AMD RAS correction to maintain resilience against hardware-induced hangs in environments where detailed error reporting is enabled and active.

Responsible

Linux

Reservation

09/25/2026

Disclosure

10/23/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!