CVE-2026-64326

CVE-2026-64326

Medium · published July 25, 2026

CVSS v3.1
5.5
EPSS
0%
Percentile
4.7
In the wild
Unconfirmed
What it is

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

block: skip sync_blockdev() on surprise removal in bdev_mark_dead()

bdev_mark_dead()'s @surprise == true means the device is already gone.

The filesystem callback fs_bdev_mark_dead() honours this and skips

sync_filesystem(), but the bare block device path (no ->mark_dead op)

lost its !surprise guard when the holder ->mark_dead callback was wired

up (see Fixes), and now calls sync_blockdev() unconditionally, which can

hang forever waiting on writeback that can no longer complete.

syzkaller hit this via nvme_reset_work()'s "I/O queues lost" path:

nvme_mark_namespaces_dead() -> blk_mark_disk_dead() ->

bdev_mark_dead(bdev, true) -> sync_blockdev() blocks in

folio_wait_writeback(), wedging the reset worker and every task waiting

on it.

Skip the sync on surprise removal, matching fs_bdev_mark_dead();

invalidate_bdev() still runs. Orderly removal (surprise == false) is

unchanged.

Found by FuzzNvme(Syzkaller with FEMU fuzzing framework).

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00159 · 4.7th percentile
Published
2026-07-25T14:17Z
Affected products (4)
ProductVersionsFixed in
linux/linux_kernel≥ 6.6, < 6.6.1456.6.145
linux/linux_kernel≥ 6.7, < 6.12.966.12.96
linux/linux_kernel≥ 6.13, < 6.18.396.18.39
linux/linux_kernel≥ 6.19, < 7.1.47.1.4
References (5)
EPSS history
Timeline
  • 25 JUL 08:49Z
    block: skip sync_blockdev() on surprise removal in bdev_mark_dead()
    cvelistv5