CVE-2026-52989

nvmet-tcp: propagate nvmet_tcp_build_pdu_iovec() errors to its callers

State
Published
Severity
9.8 Critical
Published
Jun 24, 2026
Updated
Aug 24, 2026
Reserved
Jun 9, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.19.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux
3.17.1 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:Hredhat-SADP

Weaknesses

  • CWE-390 Detection of Error Condition Without Action

Affected Products

ProductVersions
LinuxLinux
  • 1385be357e8acd09b36e026567f3a9d5c61139de to before 3df42a854686fa06484e37ac1a3931c8e3e3453cAffected
  • dca1a6ba0da9f472ef040525fab10fd9956db59f to before d7c8f95f599b3b38a717d2e771c3f8c174f657c3Affected
  • 19672ae68d52ff75347ebe2420dde1b07adca09f to before f9204a2b78dd18374d3bcf9bf93d9021ce22de1bAffected
  • ab200d71553bdcf4de554a5985b05b2dd606bc57 to before c2a11441538bdbbc5aa003f190995eba93a89b88Affected
  • 52a0a98549344ca20ad81a4176d68d28e3c05a5c to before 046fa5c72d15cd8e2d592e275697ea399d8f76b0Affected
  • 52a0a98549344ca20ad81a4176d68d28e3c05a5c to before ea8e356acb165cb1fd75537a52e1f66e5e76c538Affected
  • 043b4307a99f902697349128fde93b2ddde4686cAffected
  • 42afe8ed8ad2de9c19457156244ef3e1eca94b5dAffected
  • 6.1.163 to before 6.1.175Affected
  • 6.6.124 to before 6.6.141Affected
  • 6.12.70 to before 6.12.91Affected
  • 6.18.10 to before 6.18.33Affected
  • 5.10.250 to before 5.11Affected
  • 5.15.200 to before 5.16Affected
LinuxLinux
  • 6.19Affected
  • before 6.19Not affected
  • 6.1.175 through 6.1.*Not affected
  • 6.6.141 through 6.6.*Not affected
  • 6.12.91 through 6.12.*Not affected
  • 6.18.33 through 6.18.*Not affected
  • 7.0.10 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.