Vulnerability in Linux
CVE-2026-64535
In the Linux kernel, the following vulnerability has been resolved: nvmet-tcp: Fix potential UAF when ddgst mismatch Shivam Kumar found via vulnerability testing: When data digest is enabled on an NVMe/TCP connection and a digest mismatch occurs on a non-final H2C_DATA PDU during an R2T-based data transfer, the digest error handler in nvmet_tcp_try_recv_ddgst() calls nvmet_req_uninit() — which performs percpu_ref_put() on the submission queue — but does NOT mark the command as completed. It does not set cqe->status, does not modify rbytes_done, and does not clear any flag. When the subsequent fatal error triggers queue teardown, nvmet_tcp_uninit_data_in_cmds() iterates all commands, checks nvmet_tcp_need_data_in() for each one, and finds that the already-uninited command still appears to need data (because rbytes_done < transfer_len and cqe->status == 0). It therefore calls nvmet_req_uninit() a second time on the same command — a double percpu_ref_put against a single percpu_ref_get.
EPSS: 0.005 (44.1th percentile) — read the EPSS interpretation.
CVSS v3 metric
CVSS v3 base score 9.8 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
Affected products
- Linux — versions 91edfca6f8b364d60cde3ddefaf7d03ddf35774b, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fda871c0ba5d2eed2cd1c881573168129da70058
References
Frequently asked questions
- What is CVE-2026-64535?
- CVE-2026-64535 is a critical-severity vulnerability in Linux. CVSS score: 9.8/10. Published 2026-07-27.
- How severe is CVE-2026-64535?
- Critical severity. CVSS v3 base score is 9.8 out of 10.