Skip to main content

Linux Kernel iSER CVE-2026-98357

| EUVDEUVD-2026-93342 HIGH
2026-10-06 Linux GHSA-888p-vhhf-cr6c
8.1
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

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

  1. Access
    Establish iSER RDMA target connection
  2. Delivery
    Send task-mgmt/reject/text control PDU
  3. Exploit
    Race connection teardown against deferred completion
  4. Execution
    Trigger use-after-free in isert_put_cmd
  5. Impact
    Kernel crash or potential code execution

Vulnerability Assessment

Exploitation Conditions

Exploitable only on hosts running the Linux LIO iSER target with the ib_isert module loaded and an iSER/RDMA transport exported over an InfiniBand or RoCE fabric - not a default kernel/target configuration. The attacker must win a tight timing race between connection teardown (isert_wait_conn()/iscsit_close_connection() freeing isert_conn and iscsit_conn) and the isert_comp_wq work item processing a deferred ISTATE_SEND_TASKMGTRSP, ISTATE_SEND_REJECT, or ISTATE_SEND_TEXTRSP completion; the reporter needed an injected msleep(200) to reliably hit it. Limiting factors: niche non-default iSER target deployment, required RDMA hardware/fabric reachability, and a narrow race window that makes reliable exploitation difficult (reflected as AC:H).

Impact

Raw severity is high (CVSS 8.1, AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H) because a kernel use-after-free of the isert_conn/iscsit_conn structures can in principle yield code execution (C:H/I:H/A:H). However, every other signal argues for low operational priority: EPSS is 0.16% (5th percentile), there is no CISA KEV listing, and no public exploit was identified at time of analysis. The AC:H metric is well-justified - exploitation hinges on winning a narrow race between isert_wait_conn()/release teardown and the deferred control-PDU completion work item (the reporter had to inject an msleep(200) to widen the window), so this is a race-condition bug that is far easier to hit as a crash than to weaponize for RCE. Critically, the vector is only reachable on hosts actually running the LIO iSER RDMA target (ib_isert) over an InfiniBand/RoCE fabric, which is a niche, non-default deployment. Net: a legitimate memory-safety fix worth backporting, but realistically a stability/DoS concern for the small population of iSER-target operators rather than a broadly exploited threat. Note the CVSS AV:N applies only once an attacker can reach the RDMA fabric; CWE is listed N/A but this is unambiguously CWE-416 (use-after-free).

Exploit ScenarioDerived

An attacker (or a misbehaving/malicious iSCSI initiator) establishes an iSER connection to a Linux LIO target and sends a task-management, reject, or text control PDU whose completion isert_send_done() defers to isert_comp_wq, then forces a rapid connection teardown. If the queued isert_completion_put()->isert_put_cmd() work runs after isert_wait_conn()/iscsit_close_connection() have freed the connection objects, it reads freed memory, causing a kernel crash or potentially controllable corruption. No public exploit code exists; the KASAN splat was only reproduced with injected delays to widen the race window.

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 07, 2026

A teardown race in the Linux kernel's iSER target (ib_isert) frees the isert_conn and iscsit_conn structures while a deferred control PDU completion is still queued on isert_comp_wq, so isert_put_cmd() later dereferences freed memory - a slab use-after-free (KASAN splat) rated CVSS 8.1 (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H) because it can in principle lead to kernel code execution, data disclosure, or a crash. Exposure is limited to hosts that run the LIO iSER target with the ib_isert module loaded and export an iSER/RDMA transport over an InfiniBand or RoCE fabric; the CVSS vector shows no authentication prerequisite (PR:N), but the attacker must win a narrow race between connection teardown and the workqueue handler, a window so tight that the reporter needed an injected msleep(200) to reproduce it reliably. No public exploit code and no CISA KEV entry are associated with this issue, EPSS is only 0.16% (5th percentile), and vendor-released stable patches are available.

RemediationAI

Vendor-released patch: apply the stable kernel updates containing commit b8d26b3be8b33682cf163274ed07479a70554633 - 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, 6.18.54, and 7.2.8 (7.3-rc4 for the development line) - or the corresponding Debian/Ubuntu kernel package update once it ships that backport, then reboot or unload/reload the ib_isert module, since this is in-kernel code and a module reload only clears the vulnerable image without fixing it. Until a kernel update can be deployed, the most effective compensating control is to stop exposing iSER: unload ib_isert (rmmod ib_isert) or stop exporting the RDMA iSER transport for the target portal group and serve those LUNs over conventional iSCSI/TCP (iscsi_target_mod) instead - the trade-off is loss of RDMA offload and higher CPU/network overhead and latency, and unloading the module disrupts existing iSER sessions, so it must be done during a maintenance window. Where iSER must remain enabled, restrict the RDMA fabric attack surface to trusted initiators using InfiniBand partition keys (pkeys) or RoCE VLAN separation plus subnet-manager ACLs so untrusted hosts cannot initiate connections to the target - this reduces reachability of the race but does not eliminate it for permitted peers. There is no public exploit code or observed in-the-wild exploitation, so prioritization should be driven by whether iSER targets are actually deployed rather than by EPSS (0.16%, 5th percentile). Advisory references: the git.kernel.org stable commit links listed above and https://nvd.nist.gov/vuln/detail/CVE-2026-98357.

Affected VersionsENISA

Linux patch: 6.18.54
Linux b8d26b3be8b33682cf163274ed07479a70554633 <505b242d9351690d1385bbe508ab4666f60363ce
Linux patch: 5.10.271
Linux b8d26b3be8b33682cf163274ed07479a70554633 <ccdb1523f12bc8a9646de65055d1aafed9e9bcc6
Linux b8d26b3be8b33682cf163274ed07479a70554633 <a8fe3dfce8c0d8a76dc3d8486a5bff5feebe156f
Linux patch: 7.3-rc4
Linux patch: 7.2.8
Linux b8d26b3be8b33682cf163274ed07479a70554633 <f5613acbe2e346d5c466ef0bd264fca936b69f82
Linux patch: 5.15.222
Linux b8d26b3be8b33682cf163274ed07479a70554633 <7908fbc597a694bbd99bfb59ece73bc3daded68e
Linux patch: 0
Linux patch: 6.6.158
Linux 3.10
Linux patch: 6.12.112
Linux b8d26b3be8b33682cf163274ed07479a70554633 <7edb8a88d6c76237c8b4435765bee1009e26a50a
Linux b8d26b3be8b33682cf163274ed07479a70554633 <b96b8b3e41c308f606ffd10cfef1a7b9f97414cd
Linux patch: 6.1.189
Linux b8d26b3be8b33682cf163274ed07479a70554633 <0e230917670c6e6fe3243abfa11299fcbe05b1f4

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

iSER (iSCSI Extensions for RDMA) is the RDMA-accelerated transport for the Linux LIO iSCSI target, implemented in the ib_isert module which binds the iSCSI target core to an InfiniBand/RoCE CMA/RDMA fabric. In the vulnerable code path, isert_send_done() hands completions for the control PDU states ISTATE_SEND_TASKMGTRSP, ISTATE_SEND_REJECT, and ISTATE_SEND_TEXTRSP off to the isert_comp_wq workqueue and returns; the work item subsequently calls isert_completion_put() -> isert_put_cmd(), which reads isert_conn->conn and takes conn->cmd_lock. Nothing orders that work item against teardown: isert_wait_conn() queues isert_release_work (which frees isert_conn) and iscsit_close_connection() then frees the iscsit_conn immediately after it returns, so the still-queued completion work can execute against freed memory. The upstream fix counts the deferred control PDU completions per connection and makes isert_wait_conn() wait for that count to drain before the release work is queued; ISTATE_SEND_LOGOUTRSP is deliberately excluded from the count because that branch runs iscsit_logout_post_handler(), which waits on conn->conn_wait_comp - a completion only signalled by iscsit_close_connection() after iscsit_wait_conn() - so counting it would deadlock, and its synchronization remains with isert_wait4logout(). The kernel CVE feed assigns no CWE here, but the defect is a classic use-after-free (CWE-416) arising from a missing synchronization/ordering guarantee against a race condition (CWE-362) in the deferred workqueue completion path. Affected CPE is cpe:2.3:a:linux:linux.

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 8.1 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.1 HIGH

Reachable over the RDMA fabric without authentication (AV:N/PR:N); exploitation requires winning a teardown race, so AC:H; kernel UAF can corrupt memory yielding C/I/A High.

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

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

4
CVSS changed
Oct 07, 2026 - 07:22 NVD
8.1 (HIGH)
Patch available
Oct 06, 2026 - 10:02 EUVD
CVE Published
Oct 06, 2026 - 08:46 cve.org
HIGH 8.1
CVE Published
Oct 06, 2026 - 08:46 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

IB/isert: wait for deferred control PDU completions before releasing the connection

isert_send_done() hands ISTATE_SEND_TASKMGTRSP, ISTATE_SEND_REJECT and ISTATE_SEND_TEXTRSP completions off to isert_comp_wq and returns. The work item then runs isert_completion_put() -> isert_put_cmd(), which reads isert_conn->conn and takes conn->cmd_lock.

Nothing orders that work item against teardown. isert_wait_conn() queues isert_release_work, which frees isert_conn, and iscsit_close_connection() frees the iscsit_conn right after it returns, so the queued work can run against freed memory.

Count the deferred control PDU completions per connection and let isert_wait_conn() wait for them before the release work is queued.

ISTATE_SEND_LOGOUTRSP is deliberately not counted: that branch runs iscsit_logout_post_handler(), which ends up waiting for conn->conn_wait_comp, and that completion is only sent by iscsit_close_connection() after it has called iscsit_wait_conn(). Waiting for it here would deadlock. Its wait stays the existing isert_wait4logout().

The splat below is from a kernel with tracing printk()s and an msleep(200) injected into isert_do_control_comp() to widen the window:

BUG: KASAN: slab-use-after-free in isert_put_cmd+0x53d/0x620 Read of size 8 at addr ffff8881054f1038 by task kworker/u17:1/182

CPU: 0 UID: 0 PID: 182 Comm: kworker/u17:1 Tainted: G B 7.2.0-rc5-TWIDE-gb8babf08acc7 #1 PREEMPT(lazy) Tainted: [B]=BAD_PAGE Hardware name: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 Workqueue: isert_comp_wq isert_do_control_comp Call Trace: <TASK> dump_stack_lvl+0x53/0x70 print_report+0xd0/0x630 ? __pfx__raw_spin_lock_irqsave+0x10/0x10 ? _raw_spin_unlock_irqrestore+0x3e/0x70 ? isert_put_cmd+0x53d/0x620 kasan_report+0xce/0x100 ? isert_put_cmd+0x53d/0x620 isert_put_cmd+0x53d/0x620 ? isert_completion_put+0x305/0x330 ? isert_do_control_comp+0x2ef/0x310 process_one_work+0x633/0x1030 ? assign_work+0x11d/0x370 worker_thread+0x45b/0xd10 ? __pfx_worker_thread+0x10/0x10 ? __pfx_worker_thread+0x10/0x10 kthread+0x2c6/0x3b0 ? recalc_sigpending+0x15c/0x1e0 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x36e/0x5a0 ? __pfx_ret_from_fork+0x10/0x10 ? __switch_to+0x572/0xdd0 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1a/0x30 </TASK>

Allocated by task 48: kasan_save_stack+0x33/0x60 kasan_save_track+0x14/0x30 __kasan_kmalloc+0x8f/0xa0 __kmalloc_cache_noprof+0x158/0x370 isert_cma_handler+0x1e3/0x2ae0 cma_cm_event_handler+0x3e/0x240 cma_ib_req_handler+0x17d9/0x4490 cm_process_work+0x41/0x330 cm_work_handler+0x5727/0xc160 process_one_work+0x633/0x1030 worker_thread+0x45b/0xd10 kthread+0x2c6/0x3b0 ret_from_fork+0x36e/0x5a0 ret_from_fork_asm+0x1a/0x30

Freed by task 184: kasan_save_stack+0x33/0x60 kasan_save_track+0x14/0x30 kasan_save_free_info+0x3b/0x60 __kasan_slab_free+0x43/0x70 kfree+0x121/0x380 iscsit_close_connection+0x7cf/0x1e60 iscsit_take_action_for_connection_exit+0x1b6/0x360 iscsi_target_tx_thread+0x472/0x690 kthread+0x2c6/0x3b0 ret_from_fork+0x36e/0x5a0 ret_from_fork_asm+0x1a/0x30

Executive ViewAI

Why It Matters

The Linux kernel's iSER target (ib_isert) for LIO iSER/RDMA storage over InfiniBand or RoCE is affected by a high-severity use-after-free (CVE-2026-98357) that could allow kernel code execution or data disclosure on hosts configured as iSER targets. Although the CVSS vector indicates unauthenticated access, exploitation requires winning a very narrow race condition and no public exploit identified at time of analysis, so the immediate likelihood is low. Leadership should prioritize patching because a successful attack could disrupt critical storage services or compromise data integrity, and affected systems are typically part of sensitive storage fabrics.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Low
iSER RDMA target (ib_isert) module, requires InfiniBand/RoCE fabric, rarely deployed
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
No
Human Impact
High

Priority Score

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

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

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