Database/Kernel, userspace & hypervisor
Linux kernel CXL fwctl: unchecked op_size reads past the input buffer and into the device mailbox
Impact
fwctl_cmd_rpc() copies cmd->in_len bytes into a buffer sized to in_len, but the CXL callback ignored in_len and never validated the user-controlled op_size against it. cxlctl_set_feature() bounded op_size only from below, then copied op_size minus header bytes out of the buffer, so a small in_len with a large op_size reads past the allocation. Those out-of-bounds kernel bytes are placed into the CXL mailbox payload and sent to the device - a kernel memory disclosure with a convenient exfiltration channel - and a large enough op_size walks into unmapped memory and oopses the host. The Get paths likewise read the input struct without checking in_len.
Who can reach it
Local, requiring access to the CXL fwctl character device. That node is normally restricted to administrators or a device-management container, so the practical attacker is a privileged management agent or a compromised firmware-tooling process, not an ordinary tenant pod.
What to do
Patch to a stable kernel that rejects, at the single dispatch point, any request whose fixed header plus op_size does not fit in the copied-in buffer, then reboot the host. In the meantime, confirm the CXL fwctl device is not exposed into containers and that only firmware-management tooling holds it. The record lists three stable commits and no fixed version.
References
Related entries
- Linux kernel BPF: preemptible bpf_get_stack reuses a per-CPU callchain buffer and writes out of boundsCVE-2026-89580 · Linux kernel BPF __bpf_get_stack (per-CPU callchain entry reuse)Unscored
- Linux kernel BPF x86 JIT: per-CPU address lands in the wrong register, clobbering RAX or the frame pointerCVE-2026-89581 · Linux kernel BPF x86-64 JIT (per-CPU address MOV register encoding)Unscored
- Linux kernel GHES: CXL CPER work locks taken without IRQ protection can deadlock a CPUCVE-2026-89589 · Linux kernel ACPI APEI GHES (CXL CPER work locks)Unscored
- Linux kernel hugetlb: reservation counter underflow when a parent unmaps a shared huge page firstCVE-2026-89593 · Linux kernel hugetlb (__unmap_hugepage_range reservation accounting)Unscored
- Linux kernel efivarfs: unprivileged statfs() floods the UEFI QueryVariableInfo runtime serviceCVE-2026-89604 · Linux kernel efivarfs (statfs handler, QueryVariableInfo rate limit)Unscored
- Linux CephFS client: unchecked dentry name length overflows a NAME_MAX buffer in the NFS re-export pathCVE-2026-89652 · Linux kernel CephFS client (ceph_get_name / __get_snap_name, NFS-export path)Unscored
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.