Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessEstablish iSER RDMA target connection
-
DeliverySend task-mgmt/reject/text control PDU
-
ExploitRace connection teardown against deferred completion
-
ExecutionTrigger use-after-free in isert_put_cmd
-
ImpactKernel 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
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.
Primary rating from Vendor (Linux).
CVSS VectorVendor: Linux
Lifecycle Timeline
4DescriptionCVE.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
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.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
EUVD-2026-93342
GHSA-888p-vhhf-cr6c
NVD
CVE.org
EPSS
Exploit-DB