Critical · published June 24, 2026
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.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 5.10.250, < 5.11 | 5.11 |
| linux/linux_kernel | ≥ 5.15.200, < 5.16 | 5.16 |
| linux/linux_kernel | ≥ 6.1.163, < 6.1.175 | 6.1.175 |
| linux/linux_kernel | ≥ 6.6.124, < 6.6.141 | 6.6.141 |
| linux/linux_kernel | ≥ 6.12.70, < 6.12.91 | 6.12.91 |
| linux/linux_kernel | ≥ 6.18.10, < 6.18.33 | 6.18.33 |
| linux/linux_kernel | ≥ 6.19.1, < 7.0.10 | 7.0.10 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |