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

scsi: scsi_debug: Fix REPORT ZONES alloc_len underflow OOB write

resp_report_zones() sizes the reply buffer from the CDB allocation
length. The v3 fix rounds alloc_len up with ALIGN() before deriving the
descriptor count:

rep_max_zones = (ALIGN((u64)alloc_len, RZONES_DESC_HD) -
RZONES_DESC_HD) >> ilog2(RZONES_DESC_HD);
arr_len = (u64)RZONES_DESC_HD * (rep_max_zones + 1);

For alloc_len in 0xFFFFFFC1..0xFFFFFFFF, ALIGN() rounds up to
0x100000000, so arr_len is 4 GB. On 32-bit, kzalloc()'s size_t is 32-bit
and truncates 0x100000000 to 0; kzalloc(0) returns ZERO_SIZE_PTR, which
passes the !arr check, and desc = arr + 64 is then dereferenced in the
loop -> out-of-bounds write / panic.

Clamp rep_max_zones to devip->nr_zones. The loop already stops at
sdebug_capacity (after nr_zones zones), so a report can never hold more
than nr_zones descriptors; the clamp does not change the report, it only
bounds arr_len to (nr_zones + 1) * RZONES_DESC_HD, a real device
property that can never reach 0x100000000.
Published: 2026-08-15
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The scsi_debug module in the Linux kernel erroneously sizes the REPORT ZONES reply buffer based on an unvalidated allocation length field. For allocation lengths in the 0xFFFFFFC1..0xFFFFFFFF range, the calculation overflows to 4 GB; on 32‑bit systems this truncates to zero, leading to a kzalloc(0) that returns a zero‑size pointer. The code then dereferences this pointer and writes out of bounds, causing a kernel panic or, potentially, arbitrary memory corruption. This flaw can be triggered by sending a malicious REPORT ZONES command to a scsi_debug target, providing a denial of service or a vector for privilege escalation in systems that allow such access. This is a classic instance of CWE‑787, an out‑of‑bounds write.

Affected Systems

Any Linux kernel that loads the scsi_debug module and processes REPORT ZONES commands is affected. The vulnerability applies to 32‑bit kernel configurations; 64‑bit builds are not vulnerable due to the larger address space preventing the size truncation. Specific kernel versions are not listed, but the fix is included in subsequent kernel releases after the commit referenced in the advisory.

Risk and Exploitability

The CVSS score is 7.8 and the EPSS score is < 1%. The flaw can cause a kernel panic when a REPORT ZONES command is issued. The vulnerability is not in the CISA KEV catalog and no public exploits have been reported. The only access required is the ability to send a REPORT ZONES command to a scsi_debug device, which is normally limited to privileged users or local administrators. Based on the description, the likely attack vector involves a local user or process sending a crafted REPORT ZONES command to the scsi_debug target. Therefore, the likelihood of exploitation is low in environments with restricted access, but the impact of a successful attack is high.

Generated by OpenCVE AI on August 18, 2026 at 04:41 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the kernel to a revision that contains the patch fixing the REPORT ZONES allocation length handling in the scsi_debug module
  • If an update cannot be applied, disable or unload the scsi_debug module so that REPORT ZONES commands are not accepted
  • Restrict access to any scsi_debug devices to trusted users or processes only

Generated by OpenCVE AI on August 18, 2026 at 04:41 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6466-1 linux security update
History

Sun, 23 Aug 2026 13:15:00 +0000


Wed, 19 Aug 2026 16:45:00 +0000


Tue, 18 Aug 2026 03:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665
CWE-788

Tue, 18 Aug 2026 00:15:00 +0000

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

None

threat_severity

Moderate


Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Sat, 15 Aug 2026 14:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665
CWE-788

Sat, 15 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: scsi: scsi_debug: Fix REPORT ZONES alloc_len underflow OOB write resp_report_zones() sizes the reply buffer from the CDB allocation length. The v3 fix rounds alloc_len up with ALIGN() before deriving the descriptor count: rep_max_zones = (ALIGN((u64)alloc_len, RZONES_DESC_HD) - RZONES_DESC_HD) >> ilog2(RZONES_DESC_HD); arr_len = (u64)RZONES_DESC_HD * (rep_max_zones + 1); For alloc_len in 0xFFFFFFC1..0xFFFFFFFF, ALIGN() rounds up to 0x100000000, so arr_len is 4 GB. On 32-bit, kzalloc()'s size_t is 32-bit and truncates 0x100000000 to 0; kzalloc(0) returns ZERO_SIZE_PTR, which passes the !arr check, and desc = arr + 64 is then dereferenced in the loop -> out-of-bounds write / panic. Clamp rep_max_zones to devip->nr_zones. The loop already stops at sdebug_capacity (after nr_zones zones), so a report can never hold more than nr_zones descriptors; the clamp does not change the report, it only bounds arr_len to (nr_zones + 1) * RZONES_DESC_HD, a real device property that can never reach 0x100000000.
Title scsi: scsi_debug: Fix REPORT ZONES alloc_len underflow OOB write
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-08-23T12:47:20.125Z

Reserved: 2026-08-15T05:44:03.902Z

Link: CVE-2026-74470

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T13:17:51.727

Modified: 2026-08-23T13:16:43.967

Link: CVE-2026-74470

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-74470 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T04:45:04Z

Weaknesses