{"id":"CVE-2026-98635","kind":"vulnerability","aliases":["CVE-2026-98635"],"related":[],"title":"Linux kernel: zoned block devices can write past zone condition array","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: block: Fix zones_cond out-of-bounds write on zone report\n\nblk_revalidate_disk_zones() sizes the zones_cond array from the disk\ncapacity and zone size, but the index used by blk_revalidate_zone_cond()\ncomes from the device-driven report_zones() walk and is never checked\nagainst the array size. A device reporting more zones than fit the array\nmakes blk_zone_set_cond() write out of bounds.\n\nOne way to reach this is a zone count exceeding 32 bits: both\nblk_revalidate_zone_args.nr_zones and struct zoned_disk_info.nr_zones are\nunsigned int, so a disk advertising more than UINT_MAX zones (e.g.  2^32 +\n1024 zones of one 512-byte logical block) gets its zone count truncated to\na small value, undersizing the array while the report walk keeps counting\nupward.\n\nCheck the index against the array size before storing the zone condition,\nand refuse to revalidate when the zone count does not fit 32 bits.","summary":"The Linux kernel's zone revalidation code can write past the end of the zones_cond array when a device reports more zones than the array was sized for, including counts that overflow 32 bits. The sources do not state what an attacker gets beyond an out-of-bounds kernel write.","severity":"unknown","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["kernel","linux","runtime","storage","zoned-block-devices"],"not_affected_if":["no-zoned-devices"],"how_to_check":"- Run `uname -r` and compare against the kernel version that carries the upstream fix, which the sources do not name\n- Check whether zoned block devices (SMR or ZNS drives) are attached with `lsblk -z`","fix":"- Update the Linux kernel to a release that includes the upstream commit 'scsi: block: Fix zones_cond out-of-bounds write on zone report' (version unknown from sources)","status":"open","published_at":"2026-10-18T16:17:16+00:00","first_seen_at":"2026-10-23T21:57:16+00:00","triaged_at":"2026-10-25T05:21:02+00:00","updated_at":"2026-10-25T05:21:02+00:00","category":"runtime","confidence":0.4,"triage":{"at":"2026-10-25T05:21:02Z","model":"claude-haiku-5-5","output":{"fix":"- Update the Linux kernel to a release that includes the upstream commit 'scsi: block: Fix zones_cond out-of-bounds write on zone report' (version unknown from sources)","reach":"local","title":"Linux kernel: zoned block devices can write past zone condition array","impact":"high","summary":"The Linux kernel's zone revalidation code can write past the end of the zones_cond array when a device reports more zones than the array was sized for, including counts that overflow 32 bits. The sources do not state what an attacker gets beyond an out-of-bounds kernel write.","category":"runtime","nicknames":[],"who_cares":["linux","kernel","storage","zoned-block-devices"],"confidence":0.4,"needs_auth":"unknown","worst_case":"kernel out-of-bounds write during zone revalidation, impact unconfirmed","analyst_note":"Check the NVD entry and the upstream kernel commit for affected and fixed kernel versions, and for whether a non-malicious device or only a hostile one can trigger the write.","how_to_check":"- Run `uname -r` and compare against the kernel version that carries the upstream fix, which the sources do not name\n- Check whether zoned block devices (SMR or ZNS drives) are attached with `lsblk -z`","needs_analyst":true,"not_affected_if":["no-zoned-devices"],"who_is_affected":"Exposure requires a zoned block device, such as an SMR or ZNS disk, whose zone report the kernel processes. Systems with only ordinary non-zoned disks are unlikely to reach the vulnerable path, but the sources do not confirm that. Attack requirements beyond a malicious or faulty device are unknown.","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000666,"input_tokens":3575,"output_tokens":618,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-98635':14A,17A '1024':195C '2':193C '32':59B,171C,194C,245C '512':199C 'advertis':186C 'array':11A,42B,51B,109C,141C,151C,214C,227C 'attack':68B 'beyond':70B 'bit':60B,172C,246C 'blk':101C,122C,153C 'blk_revalidate_zone_args.nr':174C 'block':4A,24B,89C,202C 'bound':75B,96C,160C 'byte':200C 'capac':113C 'check':138C,222C 'code':32B 'come':126C 'cond':41B,92C,108C,125C,156C 'condit':10A,233C 'count':56B,169C,206C,220C,241C 'cve':12A,15A 'devic':5A,25B,45B,130C,144C 'device-driven':129C 'disk':103C,112C,185C 'driven':131C 'e.g':192C 'end':37B 'exceed':170C 'fit':149C,244C 'fix':90C 'follow':83C 'get':69B,203C 'includ':55B 'index':119C,224C 'int':182C 'keep':219C 'kernel':2A,18B,28B,76B,81C 'linux':1A,19B,27B,80C 'logic':201C 'make':152C 'max':190C 'never':137C 'one':161C,198C 'out-of-bound':72B,93C 'overflow':58B 'past':8A,35B 'reach':164C 'refus':235C 'report':46B,100C,132C,145C,217C 'resolv':87C 'revalid':31B,102C,123C,237C 'runtim':20B 'scsi':88C 'set':155C 'size':53B,105C,116C,142C,228C 'small':210C 'sourc':62B 'state':65B 'storag':21B 'store':230C 'struct':177C 'truncat':207C 'uint':189C 'unders':212C 'unsign':181C 'upward':221C 'use':120C 'valu':211C 'vulner':84C 'walk':134C,218C 'way':162C 'write':7A,34B,77B,97C,157C 'zone':3A,9A,23B,30B,40B,48B,91C,99C,104C,107C,115C,124C,133C,147C,154C,168C,175C,179C,191C,196C,205C,232C,240C 'zoned-block-devic':22B 'zoned_disk_info.nr':178C","nicknames":[],"mitigations":[],"who_affected":"Exposure requires a zoned block device, such as an SMR or ZNS disk, whose zone report the kernel processes. Systems with only ordinary non-zoned disks are unlikely to reach the vulnerable path, but the sources do not confirm that. Attack requirements beyond a malicious or faulty device are unknown.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-18T16:17:16+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98635","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98635","severity":null,"published_at":"2026-10-18T16:17:16+00:00","modified_at":"2026-10-19T10:19:27+00:00","first_seen_at":"2026-10-23T21:57:16+00:00","fetched_at":"2026-10-23T22:28:56+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}