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: 6.2 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Local Privilege Escalation
Action: Patch promptly
AI Analysis

Impact

The vulnerability is an out-of-bounds write to the zone condition array used by the SCSI block driver in the Linux kernel. It occurs when a block device reports more zones than can be represented by a 32‑bit counter; the kernel allocates a smaller array but continues to write beyond its end, corrupting kernel memory. This memory corruption can be exploited to execute arbitrary code with kernel privileges or to crash the system.

Affected Systems

All versions of the Linux kernel that include the SCSI block driver prior to the hotfix are affected. No vendor‑specific product names beyond the Linux kernel are impacted, as the flaw resides in core kernel code.

Risk and Exploitability

The CVSS score of 6.2 indicates a moderate risk, while the EPSS score of less than 1 % and the absence from the CISA KEV list suggest a low likelihood of widespread exploitation. Adversaries would need to present a malicious block device capable of reporting an oversized zone count, implying a local or physically present attack vector. No public exploits are known, so the threat level remains moderate, but kernel memory corruption carries high inherent risk.

Generated by OpenCVE AI on October 23, 2026 at 06:59 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that incorporates the fix for the SCSI block driver. The patch appears in commits c7c431d61b69a3fd0784c20aa4cd0b8fb501b5653 and ca688bb207957cffa5a8cad207329b0dcac1f2c0.
  • If an immediate kernel upgrade is not possible, remove or quarantine block devices capable of reporting zone counts beyond 32 bits to prevent them from interacting with the kernel.
  • Monitor kernel logs for panics, memory corruption warnings, or other anomalous block device activity that could indicate the flaw is being triggered.

Generated by OpenCVE AI on October 23, 2026 at 06:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 23 Oct 2026 00:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

Thu, 22 Oct 2026 12:30:00 +0000

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

None

cvssV3_1

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

threat_severity

Moderate


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-19T09:23:04.703Z

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-19T10:19:27.747

Link: CVE-2026-98635

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-18T00:00:00Z

Links: CVE-2026-98635 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T07:00:17Z

Weaknesses