CVE-2026-89481

nvme-tcp: fix host memory disclosure on R2T for a read command

State
Published
Severity
7.5 High
Published
Sep 11, 2026
Updated
Oct 30, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

nvme-tcp: fix host memory disclosure on R2T for a read command

nvme_tcp_handle_r2t() does not check the direction of the request the R2T refers to. A malicious controller can send an R2T for a READ and the host will answer it: nvme_tcp_setup_h2c_data_pdu() builds the H2CData header and nvme_tcp_try_send_data() sends the request's data buffer. That buffer is the READ destination, so its contents go to the controller.

The command then completes normally and nothing is logged.

Against a test controller that answers every READ with an R2T, a 4096 byte buffered read returned all 4096 bytes, split over two R2Ts. The pages contained stale kernel data, including an array of struct page pointers.

Reject an R2T for a request that is not a write.

Scores

CVSSScoreVectorSource
3.17.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 3f2304f8c6d6ed97849057bd16fee99e434ca796 to before effe898669c5f69ed519d6339be01ee9cd91d1a4Affected
  • 3f2304f8c6d6ed97849057bd16fee99e434ca796 to before 377aa04d7b3e73ffef6364818def188da8d6f025Affected
  • 3f2304f8c6d6ed97849057bd16fee99e434ca796 to before 49a4dcf57608ebf6432dbcb203ed25e7ed581445Affected
  • 3f2304f8c6d6ed97849057bd16fee99e434ca796 to before bc4013c7cce58d46f792c8c87bc8c8318a70190eAffected
  • 3f2304f8c6d6ed97849057bd16fee99e434ca796 to before a4c3c7310156493797c920b10d8648c07aa05403Affected
  • 3f2304f8c6d6ed97849057bd16fee99e434ca796 to before 3b3d27670c0c890ba7cf1bc3614cab61bde6d25cAffected
  • 3f2304f8c6d6ed97849057bd16fee99e434ca796 to before 3a0b05145053a5fad1a2ddb4e4d87b07385e63e5Affected
  • 3f2304f8c6d6ed97849057bd16fee99e434ca796 to before 6efbc52237facda35d2d874fe1765bb4839275d8Affected
LinuxLinux
  • 5.0Affected
  • before 5.0Not affected
  • 5.10.273 through 5.10.*Not affected
  • 5.15.224 through 5.15.*Not affected
  • 6.1.188 through 6.1.*Not affected
  • 6.6.157 through 6.6.*Not affected
  • 6.12.109 through 6.12.*Not affected
  • 6.18.50 through 6.18.*Not affected
  • 7.2.4 through 7.2.*Not affected
  • 7.3 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.