Monitor vulnerabilities like this one.
Sign up free to get alerted when software you use is affected.
9.8
CVE-2026-52989: Linux Kernel: Uninitialized Data in NVMET-TCP Socket Receiving Loop
CVE-2026-52989
CVE-2026-52989
Summary
A bug in the Linux kernel's NVMET-TCP module can cause the system to read incorrect network data. This can lead to data corruption or system crashes. To fix this issue, software developers need to properly handle errors when working with NVMET-TCP.
What to do
No fix is available yet. Check with your software vendor for updates.
Affected software
| Vendor | Product | Affected versions |
|---|---|---|
| linux | linux |
< 3df42a854686fa06484e37ac1a3931c8e3e3453c 6.19 |
| linux | linux_kernel |
>= 5.10.250, < 5.11 >= 5.15.200, < 5.16 >= 6.1.163, < 6.1.175 >= 6.6.124, < 6.6.141 >= 6.12.70, < 6.12.91 >= 6.18.10, < 6.18.33 >= 6.19.1, < 7.0.10 6.19 7.1 cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
Original title
In the Linux kernel, the following vulnerability has been resolved:
nvmet-tcp: propagate nvmet_tcp_build_pdu_iovec() errors to its callers
Currently, when nvmet_tcp_build_pdu_iovec() detects an o...
Original description
In the Linux kernel, the following vulnerability has been resolved:
nvmet-tcp: propagate nvmet_tcp_build_pdu_iovec() errors to its callers
Currently, when nvmet_tcp_build_pdu_iovec() detects an out-of-bounds
PDU length or offset, it triggers nvmet_tcp_fatal_error(cmd->queue)
and returns early. However, because the function returns void, the
callers are entirely unaware that a fatal error has occurred and
that the cmd->recv_msg.msg_iter was left uninitialized.
Callers such as nvmet_tcp_handle_h2c_data_pdu() proceed to blindly
overwrite the queue state with queue->rcv_state = NVMET_TCP_RECV_DATA
Consequently, the socket receiving loop may attempt to read incoming
network data into the uninitialized iterator.
Fix this by shifting the error handling responsibility to the callers.
nvmet-tcp: propagate nvmet_tcp_build_pdu_iovec() errors to its callers
Currently, when nvmet_tcp_build_pdu_iovec() detects an out-of-bounds
PDU length or offset, it triggers nvmet_tcp_fatal_error(cmd->queue)
and returns early. However, because the function returns void, the
callers are entirely unaware that a fatal error has occurred and
that the cmd->recv_msg.msg_iter was left uninitialized.
Callers such as nvmet_tcp_handle_h2c_data_pdu() proceed to blindly
overwrite the queue state with queue->rcv_state = NVMET_TCP_RECV_DATA
Consequently, the socket receiving loop may attempt to read incoming
network data into the uninitialized iterator.
Fix this by shifting the error handling responsibility to the callers.
nvd CVSS3.1
9.8
Vulnerability type
CWE-390
CWE-908
Use of Uninitialized Resource
- https://git.kernel.org/stable/c/046fa5c72d15cd8e2d592e275697ea399d8f76b0
- https://git.kernel.org/stable/c/3df42a854686fa06484e37ac1a3931c8e3e3453c
- https://git.kernel.org/stable/c/c2a11441538bdbbc5aa003f190995eba93a89b88
- https://git.kernel.org/stable/c/d7c8f95f599b3b38a717d2e771c3f8c174f657c3
- https://git.kernel.org/stable/c/ea8e356acb165cb1fd75537a52e1f66e5e76c538
- https://git.kernel.org/stable/c/f9204a2b78dd18374d3bcf9bf93d9021ce22de1b
- https://access.redhat.com/security/cve/CVE-2026-52989
- https://bugzilla.redhat.com/show_bug.cgi?id=2492443
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-52989.json
Published: 24 Jun 2026 · Updated: 23 Jul 2026 · First seen: 28 Jun 2026