PT-2026-90447 · Linux · Linux

CVE-2026-89731

·

Published

2026-09-11

·

Updated

2026-09-11

CVSS v3.1

7.1

High

VectorAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
In the Linux kernel, the following vulnerability has been resolved:
cxl/ras: Fix cxl rch get aer info() out-of-bounds AER register read
cxl rch get aer info() copies the RCH Downstream Port AER capability from the RCRB MMIO block using a readl() loop bounded by sizeof(struct aer capability regs). This struct is a software layout and its embedded struct pcie tlp log is larger than the on-wire AER capability. As a result the loop reads past the mapped AER register block.
The over-read also populates the software-only tail fields including header log.header len. An out-of-range header len passed to pcie print tlp log() can then loop past the header log buffer and cause a second out-of-bounds read.
The read was correct when introduced, but struct pcie tlp log has since grown (Header Log and TLP Prefix Log sizes, header len and flit fields), so sizeof(struct aer capability regs) no longer matches the physical AER capability.
Bound the read to the physical AER registers, header through the 16 byte Header Log. Zero the destination first so the software-only fields are deterministic.

Fix

Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

CVE-2026-89731

Affected Products

Linux