CVE Database›Document archive›CVE-2026-64534

CVE-2026-64534

kernel: nvmet-tcp: check INIT_FAILED before nvmet_req_uninit in digest error path

Loading…

Severity

Important

Red Hat Product Security

7.5

CVSS 3.1

Review impact separately from score.

Published · July 27, 2026

Updated · November 4, 2026

Description

A flaw was found in the Linux kernel's NVMe over TCP target (nvmet-tcp) implementation. When a data digest mismatch is detected, nvmet_req_uninit() is called unconditionally, but if the command was already in the INIT_FAILED state, the matching percpu_ref_tryget_live() was never performed. The resulting percpu_ref_put() underflows the reference counter, which can lead to premature freeing of the referenced object (use-after-free) and a permanent workqueue deadlock. A remote attacker with access to the NVMe/TCP target can exploit this by sending a packet with an invalid data digest to crash the target (Denial of Service), with potential for memory corruption through the refcount underflow.

CVSS score applicability

The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.

Mitigation

If NVMe over TCP target functionality is not required, the vulnerable code path can be avoided by not loading or by blacklisting the nvmet-tcp kernel module. For systems where NVMe/TCP targets are needed, restrict access to trusted initiators via host NQN allowlists and network segmentation to reduce the attack surface.

CVSS / CWE

CVSS 3.1 · 7.5
CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

CWE-911 · Improper Update of Reference Count