High severity · published Sep 11, 2026
CVE-2026-89571
cxl/features: bound fwctl command payload to the input buffer
7.1
CVSS
0.2%
EPSS
No
On KEV
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.
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
Attack vector
Local
Complexity
Low
Privileges
Low
User interaction
None
Confidentiality
High
Integrity
None
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 6% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
LI
Linux · Linux
eb5dfcb9e36d0e46089fec777d911313c1876fa3 before 14d52c15d5d99477b20a2d61fe36f347080da6cd; eb5dfcb9e36d0e46089fec777d911313c1876fa3 before d8957545fe96f7905791c937758ebfc1ae1e5b17; eb5dfcb9e36d0e46089fec777d911313c1876fa3 before f687394af983df5660b6afae7e0d06969f3af206; 6.15 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-89571
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-89571
git.kernel.org
https://git.kernel.org/stable/c/14d52c15d5d99477b20a2d61fe36f347080da6cd
git.kernel.org
https://git.kernel.org/stable/c/d8957545fe96f7905791c937758ebfc1ae1e5b17
git.kernel.org
https://git.kernel.org/stable/c/f687394af983df5660b6afae7e0d06969f3af206
More from Linux
9.8
CVE-2025-39682
tls: fix handling of zero-length records on the rx_list
8.8
CVE-2026-53266
netfilter: bridge: make ebt_snat ARP rewrite writable
7.8
CVE-2026-53362
ipv6: account for fraggap on the paged allocation path
7.8
CVE-2026-46300
net: skbuff: preserve shared-frag marker during coalescing
7.8
CVE-2026-31431
crypto: algif_aead - Revert to operating out-of-place
