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

cxl/features: bound fwctl command payload to the input buffer

fwctl_cmd_rpc() copies cmd->in_len bytes into inbuf = kvzalloc(cmd->in_len)
and passes inbuf and in_len to ->fw_rpc(). The CXL callback cxlctl_fw_rpc()
ignores in_len and never checks the user-controlled op_size against it.

cxlctl_set_feature() bounds op_size only from below
(op_size <= sizeof(feat_in->hdr)) and then reads op_size - sizeof(hdr)
bytes from feat_in->feat_data via cxl_set_feature(). With a small in_len
and a large op_size the first memcpy() already reads past the
kvzalloc(in_len) buffer; the out-of-bounds bytes are placed in the mailbox
payload and sent to the device, and a large enough op_size can walk into
unmapped memory and oops the kernel. The Get paths pin op_size to a fixed
size but likewise read the input struct without checking in_len.

Reject, at the single dispatch point, any request whose fixed header plus
op_size does not fit in the copied-in buffer. The lower-bound test guards
the subtraction and ensures op_size was copied in before it is read.
Published: 2026-09-11
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service (kernel crash)
Action: Apply Patch
AI Analysis

Impact

The vulnerability is an out‑of‑bounds read in the Linux kernel’s CXL (Compute Express Link) subsystem. During fwctl command handling the kernel copies a user‑supplied input buffer but later ignores the length when accessing the operation size. If that size exceeds the allocated buffer, the kernel reads past the end of the buffer, causing a kernel OOPS and crash, which results in a denial of service.

Affected Systems

All Linux kernels that include the CXL features are affected. Any distribution that ships a kernel with the CXL subsystem, regardless of vendor, is potentially impacted because the code path in cxl/features is present before the patch. No specific version numbers are listed, so all kernels incorporating this code and not yet patched are vulnerable.

Risk and Exploitability

The CVSS score of 4.4 indicates moderate severity. The EPSS score is less than 1%, suggesting a low probability of exploitation in the wild. The vulnerability is not listed in CISA’s KEV catalog, further indicating limited or no active exploitation. The likely attack vector is local access to the CXL interface, such as sending a crafted fwctl command from user space. An attacker with the ability to interact with the CXL device can trigger a kernel crash, which is a denial of service. No privilege escalation or data exfiltration is reported; the impact is confined to service availability.

Generated by OpenCVE AI on September 12, 2026 at 23:10 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a patched version that fixes the out‑of‑bounds read in cxlctl_fw_rpc and cxlctl_set_feature.
  • If an update is not available, disable the CXL subsystem by removing the module or disabling the kernel configuration option before boot.
  • Monitor kernel logs for OOPS events and restrict access to the CXL device interface to trusted users.

Generated by OpenCVE AI on September 12, 2026 at 23:10 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 13 Sep 2026 06:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 4.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H'}


Sat, 12 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Fri, 11 Sep 2026 23:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: cxl/features: bound fwctl command payload to the input buffer fwctl_cmd_rpc() copies cmd->in_len bytes into inbuf = kvzalloc(cmd->in_len) and passes inbuf and in_len to ->fw_rpc(). The CXL callback cxlctl_fw_rpc() ignores in_len and never checks the user-controlled op_size against it. cxlctl_set_feature() bounds op_size only from below (op_size <= sizeof(feat_in->hdr)) and then reads op_size - sizeof(hdr) bytes from feat_in->feat_data via cxl_set_feature(). With a small in_len and a large op_size the first memcpy() already reads past the kvzalloc(in_len) buffer; the out-of-bounds bytes are placed in the mailbox payload and sent to the device, and a large enough op_size can walk into unmapped memory and oops the kernel. The Get paths pin op_size to a fixed size but likewise read the input struct without checking in_len. Reject, at the single dispatch point, any request whose fixed header plus op_size does not fit in the copied-in buffer. The lower-bound test guards the subtraction and ensures op_size was copied in before it is read.
Title cxl/features: bound fwctl command payload to the input buffer
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-13T06:31:09.007Z

Reserved: 2026-09-11T19:38:34.726Z

Link: CVE-2026-89571

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-11T20:19:41.160

Modified: 2026-09-13T07:17:23.097

Link: CVE-2026-89571

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-11T19:44:40Z

Links: CVE-2026-89571 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-12T23:15:18Z

Weaknesses