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

scsi: core: Validate MODE SENSE lengths in scsi_cdl_enable()

scsi_cdl_enable() uses length fields returned by MODE SENSE to locate
the ATA feature mode page in a 64-byte stack buffer. A target can report
a total length shorter than its mode header and block descriptors. The
unsigned subtraction used for the MODE SELECT length can wrap, and the
separately computed buf_data can point beyond buf.

During automatic scan, enable is false, so the read-modify-write of
buf_data[4] can clear the low two bits of a target-selected
out-of-bounds stack byte. scsi_mode_select() can then copy up to 64
bytes from outside the buffer into the outgoing MODE SELECT payload,
disclosing stack contents to the target.

This is reachable while scanning a USB storage device that identifies as
an ATA device and advertises CDL support. No filesystem mount or
userspace access to the block device is required.

On upstream commit cee9395acd80 ("Linux 7.3-rc1"), a build-specific,
one-vCPU QEMU/Raw Gadget proof using QEMU-only multi-UDC allocator
sampling executed a fixed proof command inside the guest and created a
UID-0-owned marker during automatic enumeration, with KASLR and NX
enabled.

The issue was independently found during security research at Drivesec
S.r.l.

Cap the available length to the buffer size. Validate and consume the
mode header and block descriptor lengths before using the page, and
require the five bytes needed to access the CDL field.
Published: 2026-10-06
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure
Action: Patch Immediately
AI Analysis

Impact

The flaw is located in the Linux kernel SCSI subsystem’s scsi_cdl_enable() function. The function uses length fields returned by a device’s MODE SENSE command to calculate offsets into a 64‑byte stack buffer. If a target advertises a total length that is smaller than its mode header and block descriptors, the unsigned subtraction used for the MODE SELECT length can wrap. The resulting buffer pointer may reference memory beyond the 64‑byte buffer, allowing the kernel to read and then transmit up to 64 bytes of stack data back to the external device via a MODE SELECT command. The attack exposes kernel memory contents without requiring any filesystem mount or user‑space interaction, providing an information‑disclosure vector.

Affected Systems

The vulnerability exists in every Linux kernel image that contains the unpatched scsi_cdl_enable() code. The data indicates that this issue is present in the core SCSI driver across all distributions. The only version boundary implied by the fix is the upstream commit that added bounds checks, meaning any kernel built before that commit may be vulnerable. There is no product or vendor filtering in the CPE list.

Risk and Exploitability

The EPSS score is less than 1%, indicating a very low but nonzero probability of exploitation. The vulnerability is not listed in the CISA KEV catalog, indicating no confirmed large‑scale exploitation yet. The flaw permits kernel memory disclosure via a local USB ATA device that advertises CDL support, without requiring filesystem or user‑space access. An attacker needs physical or logical access to the host’s USB ports to present the malicious device and can receive up to 64 bytes of stack data through a MODE SELECT response. The risk to confidentiality is significant; integrity and availability impacts are lower except in combination with other kernel issues.

Generated by OpenCVE AI on October 6, 2026 at 16:04 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a kernel update that includes the scsi_cdl_enable() bounds‑check patch.
  • Configure udev or kernel boot options to restrict or audit automatic enumeration of USB ATA devices with CDL support.
  • In high‑security environments, disable the SCSI CDL feature or isolate USB ports to prevent untrusted devices from contacting the kernel.

Generated by OpenCVE AI on October 6, 2026 at 16:04 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6568-1 linux security update
History

Tue, 06 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-200

Tue, 06 Oct 2026 09:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: scsi: core: Validate MODE SENSE lengths in scsi_cdl_enable() scsi_cdl_enable() uses length fields returned by MODE SENSE to locate the ATA feature mode page in a 64-byte stack buffer. A target can report a total length shorter than its mode header and block descriptors. The unsigned subtraction used for the MODE SELECT length can wrap, and the separately computed buf_data can point beyond buf. During automatic scan, enable is false, so the read-modify-write of buf_data[4] can clear the low two bits of a target-selected out-of-bounds stack byte. scsi_mode_select() can then copy up to 64 bytes from outside the buffer into the outgoing MODE SELECT payload, disclosing stack contents to the target. This is reachable while scanning a USB storage device that identifies as an ATA device and advertises CDL support. No filesystem mount or userspace access to the block device is required. On upstream commit cee9395acd80 ("Linux 7.3-rc1"), a build-specific, one-vCPU QEMU/Raw Gadget proof using QEMU-only multi-UDC allocator sampling executed a fixed proof command inside the guest and created a UID-0-owned marker during automatic enumeration, with KASLR and NX enabled. The issue was independently found during security research at Drivesec S.r.l. Cap the available length to the buffer size. Validate and consume the mode header and block descriptor lengths before using the page, and require the five bytes needed to access the CDL field.
Title scsi: core: Validate MODE SENSE lengths in scsi_cdl_enable()
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-10-19T09:16:04.072Z

Reserved: 2026-09-25T10:25:14.328Z

Link: CVE-2026-98232

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-06T09:18:10.703

Modified: 2026-10-19T10:18:23.997

Link: CVE-2026-98232

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-06T16:15:02Z

Weaknesses
  • CWE-119

    Improper Restriction of Operations within the Bounds of a Memory Buffer

  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor