nvme-tcp: reject a read that transferred too few bytes
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Partial Red Hat: 15 fixed, 3 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.
Summary
In the Linux kernel, the following vulnerability has been resolved: nvme-tcp: reject a read that transferred too few bytes nvme_tcp_recv_data() completes a request once the current C2HData PDU has been consumed. Nothing compares the total bytes received against the length the command asked for: struct nvme_tcp_request has no receive-side counter, queue->data_remaining is per queue, and blk_mq_end_request() completes for blk_rq_bytes(rq) unconditionally with no residual concept anywhere above. A controller can therefore answer a 4096-byte read with 512 bytes and have it reported as a complete read; user space then gets 4096 bytes of which 3584 are whatever was already in the page. I reproduced that with a test target. Count the bytes received and refuse to complete a successful read whose count does not match, at the two NVME_TCP_F_DATA_SUCCESS paths and in nvme_tcp_process_nvme_cqe(). The success test shifts req->status right by one, because the driver keeps the wire value there and shifts it on completion, so the check must see what the completion path will see. Only REQ_OP_READ is checked, because there the length comes from the sectors the request covers; a passthrough command is built by its submitter, which picks both command and buffer, so the kernel has nothing to compare against.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA Linux (Linux) Fixed in 5.10.273, 5.15.221, 6.1.188, 6.6.157, 6.12.109, 6.18.50, 7.2.4, 7.3
Red Hat 5 advisories
- RHSA-2026:89197 Released 2026-10-27 · Red Hat rating CriticalOpenShift Container Platform 4.22.20 bug fix and security update
- Red Hat OpenShift Container Platform 4.22 rhcos-aarch64-4.22.9.8.202610241758-0, rhcos-ppc64le-4.22.9.8.202610241758-0, rhcos-s390x-4.22.9.8.202610241758-0 +1
- RHSA-2026:76739 Released 2026-10-08 · Red Hat rating Importantkernel security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-687.55.1.el9_8, kernel-64k-debug-devel-matched-5.14.0-687.55.1.el9_8, kernel-64k-devel-5.14.0-687.55.1.el9_8 +12
- Red Hat Enterprise Linux BaseOS (v. 9) kernel-5.14.0-687.55.1.el9_8, kernel-64k-5.14.0-687.55.1.el9_8, kernel-64k-core-5.14.0-687.55.1.el9_8 +28
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) kernel-tools-libs-devel-5.14.0-687.55.1.el9_8, libperf-5.14.0-687.55.1.el9_8
- Red Hat Enterprise Linux Real Time (v. 9) kernel-rt-5.14.0-687.55.1.el9_8, kernel-rt-64k-5.14.0-687.55.1.el9_8, kernel-rt-64k-core-5.14.0-687.55.1.el9_8 +21
- Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt-5.14.0-687.55.1.el9_8, kernel-rt-core-5.14.0-687.55.1.el9_8, kernel-rt-debug-5.14.0-687.55.1.el9_8 +9
- RHSA-2026:72624 Released 2026-09-28 · Red Hat rating Importantkernel security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream (v. 10) kernel-64k-debug-devel-6.12.0-211.61.1.el10_2, kernel-64k-debug-devel-matched-6.12.0-211.61.1.el10_2, kernel-64k-devel-6.12.0-211.61.1.el10_2 +12
- Red Hat Enterprise Linux BaseOS (v. 10) kernel-6.12.0-211.61.1.el10_2, kernel-64k-6.12.0-211.61.1.el10_2, kernel-64k-core-6.12.0-211.61.1.el10_2 +29
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) kernel-tools-libs-devel-6.12.0-211.61.1.el10_2, libperf-6.12.0-211.61.1.el10_2
- Red Hat Enterprise Linux Real Time (v. 10) kernel-rt-6.12.0-211.61.1.el10_2, kernel-rt-64k-6.12.0-211.61.1.el10_2, kernel-rt-64k-core-6.12.0-211.61.1.el10_2 +21
- Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt-6.12.0-211.61.1.el10_2, kernel-rt-core-6.12.0-211.61.1.el10_2, kernel-rt-debug-6.12.0-211.61.1.el10_2 +9
Show 2 more Red Hat advisories
- RHSA-2026:71329 Released 2026-09-24 · Red Hat rating Importantkernel security update
- Red Hat Enterprise Linux BaseOS (v. 8) bpftool-4.18.0-553.168.1.el8_10, kernel-4.18.0-553.168.1.el8_10, kernel-abi-stablelists-4.18.0-553.168.1.el8_10 +19
- Red Hat Enterprise Linux CRB (v. 8) kernel-tools-libs-devel-4.18.0-553.168.1.el8_10
- RHSA-2026:71330 Released 2026-09-24 · Red Hat rating Importantkernel-rt security update
- Red Hat Enterprise Linux NFV (v. 8) kernel-rt-4.18.0-553.168.1.rt7.509.el8_10, kernel-rt-core-4.18.0-553.168.1.rt7.509.el8_10, kernel-rt-debug-4.18.0-553.168.1.rt7.509.el8_10 +9
- Red Hat Enterprise Linux RT (v. 8) kernel-rt-4.18.0-553.168.1.rt7.509.el8_10, kernel-rt-core-4.18.0-553.168.1.rt7.509.el8_10, kernel-rt-debug-4.18.0-553.168.1.rt7.509.el8_10 +7
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 9 | Affected | No fix yet |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet |
| Red Hat Enterprise Linux AppStream (v. 10) | Fixed | RHSA-2026:72624 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2026:76739 |
| Red Hat Enterprise Linux BaseOS (v. 10) | Fixed | RHSA-2026:72624 |
| Red Hat Enterprise Linux BaseOS (v. 8) | Fixed | RHSA-2026:71329 |
| Red Hat Enterprise Linux BaseOS (v. 9) | Fixed | RHSA-2026:76739 |
| Red Hat Enterprise Linux CRB (v. 8) | Fixed | RHSA-2026:71329 |
| Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) | Fixed | RHSA-2026:72624 |
| Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) | Fixed | RHSA-2026:76739 |
| Red Hat Enterprise Linux NFV (v. 8) | Fixed | RHSA-2026:71330 |
| Red Hat Enterprise Linux RT (v. 8) | Fixed | RHSA-2026:71330 |
| Red Hat Enterprise Linux Real Time (v. 10) | Fixed | RHSA-2026:72624 |
| Red Hat Enterprise Linux Real Time (v. 9) | Fixed | RHSA-2026:76739 |
| Red Hat Enterprise Linux Real Time for NFV (v. 10) | Fixed | RHSA-2026:72624 |
| Red Hat Enterprise Linux Real Time for NFV (v. 9) | Fixed | RHSA-2026:76739 |
| Red Hat OpenShift Container Platform 4.22 | Fixed | RHSA-2026:89197 |
Not affected: 2 products
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
Timeline
- 2026-10-02 Threatist record created from CVE-2026-89480
- 2026-10-03 Alias added: GHSA-p53f-q495-p25h
- 2026-10-09 Fix available: RHSA-2026:76739 · Red Hat
- 2026-10-09 Fix available: Red Hat Enterprise Linux AppStream (v. 9), Red Hat Enterprise Linux BaseOS (v. 9), Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) +2 · Red Hat
- 2026-10-18 CISA SSVC decision points changed
- 2026-10-19 Fix available: Linux/[email protected] · CNA
- 2026-10-29 Fix available: RHSA-2026:89197 · Red Hat
- 2026-10-29 Fix available: Red Hat OpenShift Container Platform 4.22 · Red Hat
- 2026-10-30 Affected versions changed · Red Hat
- 2026-10-30 Fix available: Linux/[email protected], Linux/Linux@b674af31d044a86bd094ba8bb8f2bb92fb49aac5 · CNA
- 2026-10-30 1 new reference · CNA
References
Other 8
- https://git.kernel.org/stable/c/b674af31d044a86bd094ba8bb8f2bb92fb49aac5
- https://git.kernel.org/stable/c/a5c1bb0fb1bab2f24a081339c145870697f6d220
- https://git.kernel.org/stable/c/aa107e3a68f4af177d60f2d87679e7f67179a36c
- https://git.kernel.org/stable/c/fca3ebb63e5c82561cd9934365dcc0d068008006
- https://git.kernel.org/stable/c/99066cf9bba175f610ceb61a35f6fc9fbc33ff65
- https://git.kernel.org/stable/c/8a02ad98798fd01f51f648c1fdd8f3c9d07195d3
- https://git.kernel.org/stable/c/832a685efeb5d925ee7d30011d2dbe45f81447a3
- https://git.kernel.org/stable/c/7fa3f73f6c8ddc5f0425b50fb2a626a782ef7d12
More Linux vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
Sources
- CVE-2026-89480 · CVE Program
- CVE-2026-89480 · NVD
- FIRST EPSS
- GHSA-p53f-q495-p25h · GitHub Advisory Database · CC BY 4.0
- CVE-2026-89480 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences