
PEACH
Uma estrutura de isolamento de inquilino
CVE-2026-64535 is a use-after-free (UAF) vulnerability in the Linux kernel's nvmet-tcp module, triggered by a data digest mismatch on NVMe/TCP connections with digest validation enabled. Discovered by Shivam Kumar via vulnerability testing and disclosed on July 27, 2026, it affects Linux kernel versions prior to 6.1.178, 6.6.145, 6.12.97, and 6.18.40. The vulnerability arises when nvmet_tcp_try_recv_ddgst() calls nvmet_req_uninit() without marking the command as completed, leading to a double percpu_ref_put during queue teardown. It carries a CVSS category estimate of Medium (GitHub Advisory, Feedly).
The root cause is improper state management in the nvmet_tcp_try_recv_ddgst() error handler (CWE classification not formally assigned). When a digest mismatch occurs on a non-final H2C_DATA PDU during an R2T-based transfer, the handler calls nvmet_req_uninit() — performing a percpu_ref_put() on the submission queue — but fails to set cqe->status, update rbytes_done, or clear relevant flags. Consequently, during subsequent fatal error-triggered queue teardown, nvmet_tcp_uninit_data_in_cmds() iterates all commands and, finding the already-uninited command still appearing to need data (rbytes_done < transfer_len and cqe->status == 0), calls nvmet_req_uninit() a second time — resulting in a double percpu_ref_put against a single percpu_ref_get, constituting a use-after-free condition (GitHub Advisory).
Successful exploitation can lead to kernel memory corruption due to the double percpu_ref_put, potentially enabling local or network-adjacent code execution at the kernel level. An attacker who can trigger a data digest mismatch on an NVMe/TCP connection with digest validation enabled may corrupt kernel memory structures, leading to system instability, privilege escalation, or arbitrary code execution. The affected asset scope is limited to Linux systems running the nvmet-tcp kernel module with data digest validation enabled (Feedly).
ddgst) enabled in the NVMe subsystem configuration.nvme-cli with digest options).nvmet_tcp_try_recv_ddgst() and causing nvmet_req_uninit() to be called without completing the command.nvmet_tcp_uninit_data_in_cmds() to iterate commands and call nvmet_req_uninit() a second time on the already-uninited command.percpu_ref_put and kernel memory corruption to achieve privilege escalation or code execution, depending on kernel heap layout and available exploitation primitives (GitHub Advisory).dmesg / /var/log/kern.log) showing percpu_ref warnings, use-after-free reports, or kernel BUG/OOPS traces originating from nvmet_tcp_try_recv_ddgst() or nvmet_tcp_uninit_data_in_cmds().nvmet-tcp with digest validation enabled; anomalous privilege escalation events following NVMe/TCP connection errors.Patches have been backported to stable kernel releases: upgrade to Linux kernel 6.1.178, 6.6.145, 6.12.97, 6.18.40, or 7.1+ to resolve the vulnerability. The specific fix commits are 96fe2513, e091ff83, 6f944298, 088ee46c, and dbbd07d0 on the stable kernel trees (GitHub Advisory). As an interim workaround where patching is not immediately possible, disable NVMe/TCP data digest validation on the target configuration (noting this reduces data integrity protection), and restrict network access to NVMe/TCP services (TCP port 4420) to trusted hosts only using firewall rules.
Origem: Este relatório foi gerado usando IA
Avaliação de vulnerabilidade gratuita
Avalie suas práticas de segurança na nuvem em 9 domínios de segurança para comparar seu nível de risco e identificar lacunas em suas defesas.
Marque uma demonstração personalizada
"A melhor experiência do usuário que eu já vi, fornece visibilidade total para cargas de trabalho na nuvem."
"A Wiz fornece um único painel de vidro para ver o que está acontecendo em nossos ambientes de nuvem."
"Sabemos que se a Wiz identifica algo como crítico, na verdade é."