CVE-2026-80662

Source
https://cve.org/CVERecord?id=CVE-2026-80662
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80662.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-80662
Downstream
Published
2026-08-28T06:49:06.277Z
Modified
2026-08-30T03:47:21.701437549Z
Severity
  • 7.1 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H CVSS Calculator
Summary
cxl: Fix CXL_HEADERLOG_SIZE to match RAS Capability size
Details

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

cxl: Fix CXLHEADERLOGSIZE to match RAS Capability size

The CXL r4.0 8.2.4.17.7 RAS Capability Structure has total length 0x58 bytes (CXLRASCAPABILITYLENGTH); the Header Log occupies the trailing 64 bytes at offset 0x18. CXLHEADERLOGSIZE was defined as SZ512, eight times the actual on-device size.

headerlogcopy() reads CXLHEADERLOGSIZEU32 (128) dwords from the RAS capability iomap, overrunning the 88-byte mapping by 448 bytes. The cxlaeruncorrectableerror trace event memcpy()s CXLHEADERLOGSIZE (512) bytes from its source. For the CPER caller the source is struct cxlrascapabilityregs::headerlog[16] (64 bytes) embedded in a stack-local cxlcperproterrwork_data, so the memcpy reads 448 bytes of kernel stack into the trace event ring buffer where userspace can read it via tracefs.

Set CXLHEADERLOGSIZE to 64 and derive CXLHEADERLOGSIZEU32 from it, bringing all iomap readers into agreement on 16 dwords. Userspace tools such as rasdaemon have grown a dependency on the buggy 512-byte (128 u32) headerlog layout in the cxlaeruncorrectableerror trace event. Add CXLHEADERLOGTRACESIZE_U32 = 128 and use it for the trace event _array and its memcpy to preserve that ABI. Both callers now pass a zero-filled u32[CXLHEADERLOGTRACESIZEU32] staging buffer with only the first CXLHEADERLOGSIZEU32 (16) entries populated from hardware; the remaining 112 u32s are zero-padded, keeping the 512-byte trace ring buffer layout intact.

[ dj: Replaced 64 with SZ_64 per RichardC ]

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80662.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
2905cb5236cba63a5dc8a83752dcc31f3cc819f9
Fixed
6fc1919a6f2ed541484dd1f6cd93374044f8fd3d
Fixed
fc5eb0962a5e50d64e711817cc24d67df2d90528
Fixed
c268f949e219f9e179558e836f457f6c5fbec416

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80662.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.18.42
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.5

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80662.json"