Skip to main content

Linux Kernel EUVDEUVD-2026-103719

| CVE-2026-98479 HIGH
2026-10-18 Linux GHSA-m9q9-jv5w-f7p7
7.5
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Initiator connects to malicious iSCSI target
  2. Delivery
    Host issues WRITE, target sends R2T then Data-In
  3. Exploit
    Direction unchecked in iscsi_tcp_hdr_dissect()
  4. Execution
    Target bytes copied into write scatterlist
  5. Impact
    Corrupt O_DIRECT buffer or page-cache data

Vulnerability Assessment

Exploitation Conditions

The Linux host must act as an iSCSI initiator using the software iSCSI/TCP transport (libiscsi_tcp) and be connected to a malicious or compromised iSCSI target; the target must answer an in-flight WRITE command's ITT with a Data-In PDU (demonstrated with a 512-byte Data-In sent after the WRITE's R2T). The decisive limiting factor is the trust boundary: iSCSI targets are normally trusted storage, so a benign target never triggers this - exploitation requires a hostile or attacker-controlled target. No special initiator configuration beyond using software iSCSI with active WRITE traffic is needed; O_DIRECT writes expose the corruption via mismatched pwrite() return values, while buffered writes corrupt page-cache pages silently.

Impact

The CVSS 3.1 base score of 7.5 (HIGH) with AV:N/AC:L/PR:N/UI:N reads as a remote, unauthenticated, low-complexity flaw, but that framing is misleading: the 'attacker' here is the iSCSI target the initiator has connected to. Exploitation requires the Linux host to be talking to a malicious or compromised iSCSI target, which inverts the normal trust model where targets are trusted storage backends - so this is not an arbitrary-remote-attacker issue despite the network vector. The supporting signals all point to low real-world urgency: EPSS is 0.18% (7th percentile), there is no CISA KEV listing, and no public exploit is identified (the references are kernel.org stable patch commits, not PoC code). The vuln.today decision label is 'this_week,' consistent with a patch-promptly-but-not-emergency posture. Impact is integrity-only (C:N/I:H/A:N): silent corruption of data a WRITE was about to send, which is serious for data-integrity-sensitive workloads but does not grant the attacker code execution, availability loss, or confidentiality breach of the victim's data. Net: a legitimately HIGH-integrity-impact bug, but a comparatively low-priority one in practice because the required precondition (connecting to a hostile iSCSI target) is uncommon in trusted-SAN deployments.

Exploit ScenarioDerived

A Linux host using the software iSCSI (libiscsi_tcp) initiator connects to a malicious or compromised iSCSI target. When the host issues a WRITE, the target answers that command's ITT with a Data-In PDU (observed with a single 512-byte Data-In after the R2T); because the Data-In path never checks the command's data direction, the initiator copies target-supplied bytes into the write's own scatterlist, silently corrupting the O_DIRECT caller buffer or page-cache pages. No public exploit is available, though the reporter demonstrated the behavior against a test target.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 24, 2026

The software iSCSI initiator (libiscsi_tcp) in the Linux kernel can be induced by a hostile or compromised iSCSI target to write target-supplied bytes into memory that belongs to an in-flight WRITE command, corrupting either the caller's pinned user buffer (O_DIRECT) or page-cache pages (buffered I/O). The flaw is that iscsi_tcp_hdr_dissect() resolves a Data-In PDU's ITT to a task and copies the data segment into that command's scatterlist without verifying the command was a read, unlike iscsi_tcp_r2t_rsp() which rejects R2T PDUs for non-DMA_TO_DEVICE commands; a 512-byte Data-In naming a 128 KB write's ITT leaves the buffer holding target data while pwrite() still returns 131072, and the buffered path logs nothing while reads from those blocks return the target's bytes from page cache. The CVSS 3.1 score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N) reflects remote, low-complexity reachability, but exploitation is bounded by the trust boundary: the initiator must be connected to a malicious or attacker-controlled iSCSI target, which is not the normal deployment model for iSCSI storage. No public exploit code or active exploitation was identified at time of analysis (EPSS 0.18%, 7th percentile), and vendor patches are available across all supported branches.

RemediationAI

Vendor-released patches are available: update to Linux 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, 6.18.55, 7.2.9 or 7.3-rc5, or apply the corresponding stable commit (for example https://git.kernel.org/stable/c/24ffc919467d20951f0f132d1c75294e2e91e09b) on branches where a distribution kernel has not yet picked up the fix, and consult the CVE record at https://nvd.nist.gov/vuln/detail/CVE-2026-98479 for the authoritative mapping of commits to versions. Because the flaw is only reachable from the target side, the decisive compensating control until patching is to keep the initiator's iSCSI trust boundary intact - connect only to iSCSI targets and portals that are under your own administrative control and are not reachable or configurable by untrusted parties, since a benign target never emits a Data-In for a WRITE's ITT and this control fully removes the trigger. Where a target cannot be fully trusted, avoid issuing writes to it from a libiscsi_tcp initiator; note that the trade-off is loss of that storage path, and that no logging or error indication accompanies the buffered-write corruption, so detection after the fact is unreliable - integrity verification of written data (for example comparing readback for O_DIRECT workloads where pwrite() length mismatches would otherwise be the only signal) is a detection aid, not a fix. No other workaround is documented in the supplied sources.

Affected VersionsENISA

Linux a081c13e39b5c17052a7b46fafa61019c4c110ff <24ffc919467d20951f0f132d1c75294e2e91e09b
Linux patch: 6.6.158
Linux a081c13e39b5c17052a7b46fafa61019c4c110ff <ee56b5e18f566c0b5a183379dcd63d402cebf2f8
Linux patch: 5.15.222
Linux a081c13e39b5c17052a7b46fafa61019c4c110ff <de96dc11aee0d058927bff94a168e3c5c46483e2
Linux patch: 6.12.112
Linux a081c13e39b5c17052a7b46fafa61019c4c110ff <e3b25bf2cf2496e85bc05b33360faf9fdf880e03
Linux patch: 6.18.55
Linux a081c13e39b5c17052a7b46fafa61019c4c110ff <94e5bdd08e51c450d954bc592f591c233ca5c9df
Linux patch: 0
Linux a081c13e39b5c17052a7b46fafa61019c4c110ff <8db1232945bc663fb94f300090a1fc108de99296
Linux patch: 6.1.189
Linux patch: 7.2.9
Linux a081c13e39b5c17052a7b46fafa61019c4c110ff <79991b770fc3685b1d5cf805b659a879edd19931
Linux a081c13e39b5c17052a7b46fafa61019c4c110ff <bce07e2f37b5e4a427d36fd6b1c14067b27591db
Linux 2.6.29
Linux patch: 7.3-rc5
Linux patch: 5.10.271

Affected Packages

euvd linux no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

iSCSI carries SCSI commands over TCP, and the Linux kernel's software initiator implements it in drivers/scsi/libiscsi_tcp.c, where received PDUs are parsed by iscsi_tcp_hdr_dissect(). Each iSCSI PDU carries an Initiator Task Tag (ITT) that the initiator uses to map the PDU back to the outstanding SCSI command structure. In the Data-In branch of that dissector, the code resolved the ITT to a task and copied the PDU's data segment directly into the command's scatterlist without checking whether the command was a read - the sibling R2T handler, iscsi_tcp_r2t_rsp(), already performs exactly this check and rejects an R2T for a command that is not DMA_TO_DEVICE. Because a WRITE command's scatterlist references the initiator's own outgoing data pages - the caller's pinned pages for O_DIRECT, page-cache pages for buffered writes - a target that replies to a WRITE's ITT with a Data-In PDU overwrites the very memory that write was about to transmit. The upstream fix adds the missing direction check before the scatterlist is used, mirroring the R2T path. No CWE identifier was assigned in the supplied data, and the trigger details above derive from the commit message's description of the Data-In path; nothing in the sources indicates a separate memory-safety class such as a heap overflow or use-after-free. The affected component has existed since the libiscsi_tcp code was introduced, with EUVD listing the lower bound of the vulnerable range as Linux 2.6.29.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
vuln.today AI 7.5 HIGH

The hostile iSCSI target reaches the initiator over the network (AV:N) and controls the malicious Data-In PDU (AC:L, PR:N, UI:N); impact is integrity-only corruption of write data (I:H, C:N, A:N).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

Lifecycle Timeline

4
CVSS changed
Oct 24, 2026 - 14:22 NVD
7.5 (HIGH)
Patch available
Oct 18, 2026 - 16:02 EUVD
CVE Published
Oct 18, 2026 - 15:15 cve.org
HIGH 7.5
CVE Published
Oct 18, 2026 - 15:15 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

A high-severity flaw in the Linux kernel's iSCSI initiator allows a compromised or malicious iSCSI storage target to silently corrupt data written by applications, affecting both direct and page-cache I/O. Organizations relying on iSCSI for storage-especially in cloud, virtualized, or shared-storage environments-face integrity risks to critical data, though exploitation requires control of the storage target. Leadership should prioritize patching to prevent potential data corruption and maintain trust in storage infrastructure.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Ubiquitous
Linux kernel; software iSCSI initiator ships in most distributions
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy