Missing data direction check in Linux kernel libiscsi_tcp driver
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · High · None
- Fix status
- Partial Red Hat: 7 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.
Summary
The Linux kernel from 2.6.29 has a flaw in the libiscsi_tcp iSCSI driver, which does not check the data direction of a Data-In PDU before copying its data into a command's scatterlist. A target that answers a WRITE command's ITT with a Data-In PDU makes the initiator write target-supplied bytes into the pages that write was about to send. A remote iSCSI target needs no privileges to do this.
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
Description from the CNA
In the Linux kernel, the following vulnerability has been resolved: scsi: libiscsi_tcp: Check the data direction of a Data-In PDU The Data-In branch of iscsi_tcp_hdr_dissect() resolves the ITT to a task and copies the PDU's data segment into that command's scatterlist without asking whether the command was reading. iscsi_tcp_r2t_rsp() in the same file does ask, and rejects an R2T for a command that is not DMA_TO_DEVICE. A target that answers a WRITE command's ITT with a Data-In therefore has the initiator write target-supplied bytes into the pages that write was about to send. Those are the caller's own pinned pages for an O_DIRECT write, and page cache pages for a buffered one. Observed against a test target that emits one 512-byte Data-In naming a 128 KB write's ITT, after the R2T for that write. With O_DIRECT the caller's buffer ends up holding 512 bytes of the target's data while pwrite() returns 131072. Buffered is quieter: pwrite() and fsync() both succeed, nothing is logged, and reading those blocks back returns the target's bytes out of the page cache without a command going on the wire. Check the direction before using the scatterlist, the way the R2T path already does.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 2.6.29 and later | 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, 6.18.55, 7.2.9, 7.3 | Patch available | CNA |
- Linux VendorLinux Affected 2.6.29 and later Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, 6.18.55, 7.2.9, 7.3 Patch available CNA
Remediation
Fixed Linux kernel versions are 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, 6.18.55, 7.2.9 and 7.3. The sources list no fixed version for Red Hat Enterprise Linux 7, 8, 9 and 10 or for Red Hat OpenShift Container Platform 4 and 5, and no fix planned for Red Hat Enterprise Linux 6.
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
- Fix · CNA Linux (Linux) Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, 6.18.55, 7.2.9, 7.3
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 7 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 8 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-18 Threatist record created from CVE-2026-98479
- 2026-10-18 Alias added: GHSA-m9q9-jv5w-f7p7
- 2026-10-19 Fix available: Linux/[email protected] · CNA
- 2026-10-20 Affected versions changed · Red Hat
- 2026-10-20 CVSS score added · Red Hat
- 2026-10-24 CVSS score added · CNA
- 2026-10-30 Affected versions changed · Red Hat
References
Other 8
- https://git.kernel.org/stable/c/79991b770fc3685b1d5cf805b659a879edd19931
- https://git.kernel.org/stable/c/8db1232945bc663fb94f300090a1fc108de99296
- https://git.kernel.org/stable/c/94e5bdd08e51c450d954bc592f591c233ca5c9df
- https://git.kernel.org/stable/c/de96dc11aee0d058927bff94a168e3c5c46483e2
- https://git.kernel.org/stable/c/e3b25bf2cf2496e85bc05b33360faf9fdf880e03
- https://git.kernel.org/stable/c/ee56b5e18f566c0b5a183379dcd63d402cebf2f8
- https://git.kernel.org/stable/c/24ffc919467d20951f0f132d1c75294e2e91e09b
- https://git.kernel.org/stable/c/bce07e2f37b5e4a427d36fd6b1c14067b27591db
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-98479 · CVE Program
- CVE-2026-98479 · NVD
- FIRST EPSS
- GHSA-m9q9-jv5w-f7p7 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-98479 · 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