nvme-tcp: fix host memory disclosure on R2T for a read command
Summary
| CVE | CVE-2026-89481 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-09-11 20:19:29 UTC |
| Updated | 2026-09-11 20:19:29 UTC |
| 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. |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected 3f2304f8c6d6ed97849057bd16fee99e434ca796 a4c3c7310156493797c920b10d8648c07aa05403 git |
Not specified |
| CNA |
Linux |
Linux |
affected 3f2304f8c6d6ed97849057bd16fee99e434ca796 3b3d27670c0c890ba7cf1bc3614cab61bde6d25c git |
Not specified |
| CNA |
Linux |
Linux |
affected 3f2304f8c6d6ed97849057bd16fee99e434ca796 3a0b05145053a5fad1a2ddb4e4d87b07385e63e5 git |
Not specified |
| CNA |
Linux |
Linux |
affected 3f2304f8c6d6ed97849057bd16fee99e434ca796 6efbc52237facda35d2d874fe1765bb4839275d8 git |
Not specified |
| CNA |
Linux |
Linux |
affected 5.0 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 5.0 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.12.109 6.12.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.50 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.2.4 7.2.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.3-rc1 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/3a0b05145053a5fad1a2ddb4e4d87b07385e63e5 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/a4c3c7310156493797c920b10d8648c07aa05403 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/3b3d27670c0c890ba7cf1bc3614cab61bde6d25c |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/6efbc52237facda35d2d874fe1765bb4839275d8 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.