CVE-2026-74470

scsi: scsi_debug: Fix REPORT ZONES alloc_len underflow OOB write

HIGH
7.8
CVSS Score
Published: August 15, 2026 at 12:27 PM UTC
Updated: October 16, 2026 at 08:17 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.1%
SSVC
No known exploit

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.10.855.15.85.167db0e0c8190a086ef92ce5bb960836cde49540aac4d2d7c935a4ad20e8e726ca10499cefe4537103ebacb44cb2042b90951140eda806bedad23ef554
Vendor states this is fixed in 2047ed09bf13453b7d6f9431b112ec07984dd69b (fixed)
Vendor states this is fixed in 495058429ca55ab7fcc21977b63b92907ad68066 (fixed)
Vendor states this is fixed in 49e5b25a0b74dbac595f122e5608fdce2918cc4e (fixed)
Vendor states this is fixed in 5d3e1d006bbb543259f9e31824caadbfff6a5465 (fixed)
Vendor states this is fixed in 7b615fc139e35c81077046df44725c532f7e2404 (fixed)
Vendor states this is fixed in 93dde0bf2f39a0f9f57fd610aa3201ce5b753433 (fixed)
Vendor states this is fixed in d6e6da6bc3b53231fac77ffab428da8173ee729c (fixed)
Affected range stops below 5.11, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.15.217 (unaffected)
Vendor states this is fixed in 5.16 (unaffected)
Vendor states this is fixed in 6.1.183 (unaffected)
Vendor states this is fixed in 6.12.103 (unaffected)
Vendor states this is fixed in 6.18.44 (unaffected)
Vendor states this is fixed in 6.6.151 (unaffected)
Vendor states this is fixed in 7.1.8 (unaffected)
Vendor states this is fixed in 7.2 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

SSVC — Action Prioritization

SSVCNo known exploitNot automatableTotal impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.8HIGHLinux
Vector?

Quick Info

StatusRECEIVED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card