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

scsi: block: Fix zones_cond out-of-bounds write on zone report

blk_revalidate_disk_zones() sizes the zones_cond array from the disk
capacity and zone size, but the index used by blk_revalidate_zone_cond()
comes from the device-driven report_zones() walk and is never checked
against the array size. A device reporting more zones than fit the array
makes blk_zone_set_cond() write out of bounds.

One way to reach this is a zone count exceeding 32 bits: both
blk_revalidate_zone_args.nr_zones and struct zoned_disk_info.nr_zones are
unsigned int, so a disk advertising more than UINT_MAX zones (e.g. 2^32 +
1024 zones of one 512-byte logical block) gets its zone count truncated to
a small value, undersizing the array while the report walk keeps counting
upward.

Check the index against the array size before storing the zone condition,
and refuse to revalidate when the zone count does not fit 32 bits.
Published: 2026-10-18
Score: n/a
EPSS: n/a
KEV: No
Impact: Local privilege escalation
Action: Patch promptly
AI Analysis

Impact

An out‑of‑bounds write to the zone condition array in the Linux kernel’s SCSI block driver can corrupt kernel memory. The flaw occurs when a storage device reports more zones than the 32‑bit counter can hold, causing the kernel to allocate a smaller array than needed. Subsequent processing writes past the array boundary, which can lead to arbitrary kernel code execution or a system crash if an attacker supplies a malicious device.

Affected Systems

All Linux kernel builds that contain the SCSI block driver, including recent stable releases, may be affected. The vulnerability is tied to the blk_revalidate_disk_zones path; any kernel image using this code is potentially impacted.

Risk and Exploitability

The CVSS score is not provided and the EPSS data is unavailable, but the bug was fixed in a kernel release, indicating its severity. Exploitation would require a privileged process to communicate with a specially crafted block device that reports an oversized zone count. No public exploits are known, and it is not listed in CISA’s KEV, suggesting a moderate to low likelihood of exploitation in the wild. Nonetheless, memory corruption in kernel space is a high‑risk condition, warranting timely patching.

Generated by OpenCVE AI on October 18, 2026 at 18:15 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the patch for this issue.
  • If you cannot upgrade immediately, isolate or remove block devices that may present zone counts beyond 32‑bit limits, or block their access to the system.
  • Monitor for kernel panics or anomalous device behavior that could indicate the flaw being triggered.

Generated by OpenCVE AI on October 18, 2026 at 18:15 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 18 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

Sun, 18 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: scsi: block: Fix zones_cond out-of-bounds write on zone report blk_revalidate_disk_zones() sizes the zones_cond array from the disk capacity and zone size, but the index used by blk_revalidate_zone_cond() comes from the device-driven report_zones() walk and is never checked against the array size. A device reporting more zones than fit the array makes blk_zone_set_cond() write out of bounds. One way to reach this is a zone count exceeding 32 bits: both blk_revalidate_zone_args.nr_zones and struct zoned_disk_info.nr_zones are unsigned int, so a disk advertising more than UINT_MAX zones (e.g. 2^32 + 1024 zones of one 512-byte logical block) gets its zone count truncated to a small value, undersizing the array while the report walk keeps counting upward. Check the index against the array size before storing the zone condition, and refuse to revalidate when the zone count does not fit 32 bits.
Title scsi: block: Fix zones_cond out-of-bounds write on zone report
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-18T15:20:05.961Z

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

Link: CVE-2026-98635

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:16.607

Modified: 2026-10-18T16:17:16.607

Link: CVE-2026-98635

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-18T18:15:15Z

Weaknesses
  • CWE-119

    Improper Restriction of Operations within the Bounds of a Memory Buffer