Skip to main content

Linux Kernel CVE-2026-64326

| EUVDEUVD-2026-48870 MEDIUM
2026-07-25 Linux GHSA-h8v6-c5rc-5j48
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.5 MEDIUM

Local access and low privileges required to trigger NVMe surprise-removal path; kernel hang causes A:H with no confidentiality or integrity impact.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
4.7 MEDIUM
AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
5.5 MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

6
Metadata Corrected
Sep 04, 2026 - 15:40 vuln.today
tag: Information Disclosure removed
Analysis Generated
Sep 04, 2026 - 14:53 vuln.today
CVSS changed
Sep 04, 2026 - 14:52 NVD
5.5 (MEDIUM)
Patch available
Jul 25, 2026 - 11:18 EUVD
CVE Published
Jul 25, 2026 - 08:49 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 25, 2026 - 08:49 nvd
MEDIUM 5.5

DescriptionNVD

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).

AnalysisAI

The block device layer in Linux Kernel hangs indefinitely during NVMe surprise removal when bdev_mark_dead() is called with surprise=true, because a missing guard causes sync_blockdev() to be invoked on an already-dead device, permanently blocking folio_wait_writeback(). Triggered via nvme_reset_work() I/O-queues-lost path, the bug wedges the NVMe reset worker and every task waiting on it, requiring a system reboot to recover. Discovered by FuzzNvme (syzkaller + FEMU fuzzing framework); no public exploit identified at time of analysis.

Technical ContextAI

The vulnerability resides in bdev_mark_dead() in the Linux kernel block layer (block/bdev.c). When a block device undergoes surprise removal - meaning the hardware is already gone before orderly teardown completes - the function is called with @surprise = true. The filesystem-aware path fs_bdev_mark_dead() correctly honors this flag and skips sync_filesystem(). However, when no ->mark_dead holder callback is registered (bare block device path), the !surprise guard was inadvertently dropped during a prior refactor that wired up holder callbacks. As a result, sync_blockdev() is called unconditionally, issuing a writeback flush to a device that no longer exists. The writeback waits indefinitely in folio_wait_writeback(), deadlocking the NVMe reset worker. The specific trigger chain is nvme_mark_namespaces_dead() → blk_mark_disk_dead() → bdev_mark_dead(bdev, true) → sync_blockdev(). CWE is not assigned, but the root cause is a missing conditional guard - analogous to CWE-754 (improper check for unusual or exceptional conditions). CPE: cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*.

RemediationAI

Upgrade the Linux kernel to a patched stable release: 7.1.4, 6.18.39, 6.12.96, or 6.6.145, depending on the branch in use; 7.2-rc1 also includes the fix. Patch commits are available at https://git.kernel.org/stable/ with the commit hashes listed in the affected-products section. As a compensating control, systems without NVMe hardware or other hotplug-capable block devices are not exposed to the surprise-removal path and require no immediate action. For systems where kernel upgrades are temporarily infeasible, disabling NVMe hotplug or ensuring NVMe devices do not undergo surprise removal events (e.g., avoiding forcible PCIe slot power removal) reduces exposure, though this may not be practical in all environments. Orderly removal (surprise == false) is unaffected and continues to function correctly.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected

Share

CVE-2026-64326 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy