PT-2026-90447 · Linux · Linux
CVE-2026-89731
·
Published
2026-09-11
·
Updated
2026-09-11
CVSS v3.1
7.1
High
| Vector | AV: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
Affected Products
Linux