Action not permitted
Modal body text goes here.
Modal Title
Modal Body
EUVD-2026-372124
European Vulnerability Database identifier assigned by ENISAReserved
2026-10-02 08:39
Assigner
ENISA
Alias of
a CVE record, shown under related vulnerabilities.
This identifier carries no description, severity or references of its own:
they belong to that CVE.
{
"assigner": "ENISA",
"date_reserved": "2026-10-02T08:39:02.144299+00:00",
"id": "EUVD-2026-372124"
}
CVE-2026-90294 (GCVE-0-2026-90294)
Vulnerability from cvelistv5 – Published: 2026-09-17 16:08 – Updated: 2026-09-18 17:54
VLAI
EPSS
VEX
Title
IB/isert: delay the final Login Response until the session is registered
Summary
In the Linux kernel, the following vulnerability has been resolved:
IB/isert: delay the final Login Response until the session is registered
isert_put_login_tx() puts the final Login Response on the wire before
__transport_register_session(), which iscsi_post_login_handler() reaches
only after iscsi_target_do_login() returns. An initiator that issues a
SCSI command as soon as it sees that response can have it executed against
an se_session whose se_tpg is still NULL, and the ib-comp-wq worker oopses
on the NULL dereference.
Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f]
CPU: 0 UID: 0 PID: 178 Comm: kworker/0:1H Not tainted 7.2.0-rc5-V2CTL-gf5098b6bae76 #10 PREEMPT(lazy)
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: ib-comp-wq ib_cq_poll_work
RIP: 0010:target_submit+0xbe/0x390
Code: fa 48 c1 ea 03 80 3c 02 00 0f 85 89 02 00 00 48 b8 00 00 00 00 00 fc ff df 4d 8b 64 24 18 49 8d 7c 24 78 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 5a 02 00 00 48 8d 7b 78 4d 8b 6c 24 78 48 b8 00
RSP: 0018:ffff8881058cfa78 EFLAGS: 00010206
RAX: dffffc0000000000 RBX: ffff88810c78c6f0 RCX: ffffffff964bb363
RDX: 000000000000000f RSI: 00000000fffffe00 RDI: 0000000000000078
RBP: 1ffff11020b19f52 R08: 0000000000000001 R09: ffffed1020b19f52
R10: 0000000000000003 R11: ffff88810596c000 R12: 0000000000000000
R13: ffff88810c61b000 R14: ffff88810c6a3400 R15: ffff88810c61b044
FS: 0000000000000000(0000) GS:ffff8881822b2000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f1f1b83c000 CR3: 000000006fe72001 CR4: 0000000000770ef0
PKRU: 55555554
Call Trace:
<TASK>
? __pfx__raw_spin_lock_bh+0x10/0x10
? __pfx_target_submit+0x10/0x10
? mutex_lock+0x81/0xe0
? __pfx_mutex_lock+0x10/0x10
? iscsit_execute_cmd+0x650/0x850
iscsit_sequence_cmd+0x186/0x3d0
iscsit_process_scsi_cmd+0x87/0x300
isert_recv_done+0x1002/0x2390
? __pfx_isert_recv_done+0x10/0x10
? rxe_poll_cq+0x253/0x3d0
? finish_task_switch.isra.0+0x1dc/0xa70
__ib_process_cq+0xe1/0x390
ib_cq_poll_work+0x46/0x150
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>
Modules linked in:
---[ end trace 0000000000000000 ]---
Delay the final Login Response instead. isert_get_rx_pdu() runs from
iscsi_target_rx_thread() after conn->rx_login_comp, completed by
iscsi_post_login_handler() after __transport_register_session(); iscsi-TCP
and cxgbit already take PDUs from that thread, isert alone does not. The
buffers are still posted first, so the initiator's first command does not
meet an empty receive queue and nothing depends on RNR flow control, and
the header and payload live in isert_conn, not in the struct iscsi_login
that iscsi_target_nego_release() frees first.
Over rxe, 400 login cycles per run, the oops appeared in 10 of 20
unpatched runs and in none of 20 runs with this patch. An
initiator that never waits is handled by the next patch.
Not tested: iWARP, discovery sessions over iSER, and real HCAs.
Severity
7.5 (High)
Assigner
References
8 references
Impacted products
2 products
| Vendor | Product | Version | |
|---|---|---|---|
| Linux | Linux |
Affected:
b8d26b3be8b33682cf163274ed07479a70554633 , < e148dbac43308d9e4313070bfc5b355d03134809
(git)
Affected: b8d26b3be8b33682cf163274ed07479a70554633 , < a18fb8d540b3e631cb7e50e55f3c462c05b3a114 (git) Affected: b8d26b3be8b33682cf163274ed07479a70554633 , < 0d2efc355982064855f24f73f9fbb6c65ca4a5c7 (git) Affected: b8d26b3be8b33682cf163274ed07479a70554633 , < f84e9adf4d9f4c0c79ef4a7d9e0c5c08b1337033 (git) Affected: b8d26b3be8b33682cf163274ed07479a70554633 , < 11694889c4bab47047a60690ceb70d7551ed5b2e (git) Affected: b8d26b3be8b33682cf163274ed07479a70554633 , < a6c19af05c170f267eca1d01c3c72c84ba7860ae (git) Affected: b8d26b3be8b33682cf163274ed07479a70554633 , < 4397ea31e3b0d017c2b9b876b326df0b3eb845bf (git) Affected: b8d26b3be8b33682cf163274ed07479a70554633 , < 464f5afa92d071a226f88424803b0fcf88093ede (git) |
|
| Linux | Linux |
Affected:
3.10
Unaffected: 0 , < 3.10 (semver) Unaffected: 5.10.270 , ≤ 5.10.* (semver) Unaffected: 5.15.221 , ≤ 5.15.* (semver) Unaffected: 6.1.188 , ≤ 6.1.* (semver) Unaffected: 6.6.157 , ≤ 6.6.* (semver) Unaffected: 6.12.110 , ≤ 6.12.* (semver) Unaffected: 6.18.52 , ≤ 6.18.* (semver) Unaffected: 7.2.6 , ≤ 7.2.* (semver) Unaffected: 7.3-rc1 , ≤ * (original_commit_for_fix) |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/infiniband/ulp/isert/ib_isert.c",
"drivers/infiniband/ulp/isert/ib_isert.h"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "e148dbac43308d9e4313070bfc5b355d03134809",
"status": "affected",
"version": "b8d26b3be8b33682cf163274ed07479a70554633",
"versionType": "git"
},
{
"lessThan": "a18fb8d540b3e631cb7e50e55f3c462c05b3a114",
"status": "affected",
"version": "b8d26b3be8b33682cf163274ed07479a70554633",
"versionType": "git"
},
{
"lessThan": "0d2efc355982064855f24f73f9fbb6c65ca4a5c7",
"status": "affected",
"version": "b8d26b3be8b33682cf163274ed07479a70554633",
"versionType": "git"
},
{
"lessThan": "f84e9adf4d9f4c0c79ef4a7d9e0c5c08b1337033",
"status": "affected",
"version": "b8d26b3be8b33682cf163274ed07479a70554633",
"versionType": "git"
},
{
"lessThan": "11694889c4bab47047a60690ceb70d7551ed5b2e",
"status": "affected",
"version": "b8d26b3be8b33682cf163274ed07479a70554633",
"versionType": "git"
},
{
"lessThan": "a6c19af05c170f267eca1d01c3c72c84ba7860ae",
"status": "affected",
"version": "b8d26b3be8b33682cf163274ed07479a70554633",
"versionType": "git"
},
{
"lessThan": "4397ea31e3b0d017c2b9b876b326df0b3eb845bf",
"status": "affected",
"version": "b8d26b3be8b33682cf163274ed07479a70554633",
"versionType": "git"
},
{
"lessThan": "464f5afa92d071a226f88424803b0fcf88093ede",
"status": "affected",
"version": "b8d26b3be8b33682cf163274ed07479a70554633",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/infiniband/ulp/isert/ib_isert.c",
"drivers/infiniband/ulp/isert/ib_isert.h"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "3.10"
},
{
"lessThan": "3.10",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.270",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.221",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.188",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.157",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.110",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.52",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.6",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.3-rc1",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.270",
"versionStartIncluding": "3.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.221",
"versionStartIncluding": "3.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.188",
"versionStartIncluding": "3.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.157",
"versionStartIncluding": "3.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.110",
"versionStartIncluding": "3.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.52",
"versionStartIncluding": "3.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2.6",
"versionStartIncluding": "3.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.3-rc1",
"versionStartIncluding": "3.10",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nIB/isert: delay the final Login Response until the session is registered\n\nisert_put_login_tx() puts the final Login Response on the wire before\n__transport_register_session(), which iscsi_post_login_handler() reaches\nonly after iscsi_target_do_login() returns. An initiator that issues a\nSCSI command as soon as it sees that response can have it executed against\nan se_session whose se_tpg is still NULL, and the ib-comp-wq worker oopses\non the NULL dereference.\n\n Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI\n KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f]\n CPU: 0 UID: 0 PID: 178 Comm: kworker/0:1H Not tainted 7.2.0-rc5-V2CTL-gf5098b6bae76 #10 PREEMPT(lazy)\n 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\n Workqueue: ib-comp-wq ib_cq_poll_work\n RIP: 0010:target_submit+0xbe/0x390\n Code: fa 48 c1 ea 03 80 3c 02 00 0f 85 89 02 00 00 48 b8 00 00 00 00 00 fc ff df 4d 8b 64 24 18 49 8d 7c 24 78 48 89 fa 48 c1 ea 03 \u003c80\u003e 3c 02 00 0f 85 5a 02 00 00 48 8d 7b 78 4d 8b 6c 24 78 48 b8 00\n RSP: 0018:ffff8881058cfa78 EFLAGS: 00010206\n RAX: dffffc0000000000 RBX: ffff88810c78c6f0 RCX: ffffffff964bb363\n RDX: 000000000000000f RSI: 00000000fffffe00 RDI: 0000000000000078\n RBP: 1ffff11020b19f52 R08: 0000000000000001 R09: ffffed1020b19f52\n R10: 0000000000000003 R11: ffff88810596c000 R12: 0000000000000000\n R13: ffff88810c61b000 R14: ffff88810c6a3400 R15: ffff88810c61b044\n FS: 0000000000000000(0000) GS:ffff8881822b2000(0000) knlGS:0000000000000000\n CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n CR2: 00007f1f1b83c000 CR3: 000000006fe72001 CR4: 0000000000770ef0\n PKRU: 55555554\n Call Trace:\n \u003cTASK\u003e\n ? __pfx__raw_spin_lock_bh+0x10/0x10\n ? __pfx_target_submit+0x10/0x10\n ? mutex_lock+0x81/0xe0\n ? __pfx_mutex_lock+0x10/0x10\n ? iscsit_execute_cmd+0x650/0x850\n iscsit_sequence_cmd+0x186/0x3d0\n iscsit_process_scsi_cmd+0x87/0x300\n isert_recv_done+0x1002/0x2390\n ? __pfx_isert_recv_done+0x10/0x10\n ? rxe_poll_cq+0x253/0x3d0\n ? finish_task_switch.isra.0+0x1dc/0xa70\n __ib_process_cq+0xe1/0x390\n ib_cq_poll_work+0x46/0x150\n process_one_work+0x633/0x1030\n ? assign_work+0x11d/0x370\n worker_thread+0x45b/0xd10\n ? __pfx_worker_thread+0x10/0x10\n ? __pfx_worker_thread+0x10/0x10\n kthread+0x2c6/0x3b0\n ? recalc_sigpending+0x15c/0x1e0\n ? __pfx_kthread+0x10/0x10\n ret_from_fork+0x36e/0x5a0\n ? __pfx_ret_from_fork+0x10/0x10\n ? __switch_to+0x572/0xdd0\n ? __pfx_kthread+0x10/0x10\n ret_from_fork_asm+0x1a/0x30\n \u003c/TASK\u003e\n Modules linked in:\n ---[ end trace 0000000000000000 ]---\n\nDelay the final Login Response instead. isert_get_rx_pdu() runs from\niscsi_target_rx_thread() after conn-\u003erx_login_comp, completed by\niscsi_post_login_handler() after __transport_register_session(); iscsi-TCP\nand cxgbit already take PDUs from that thread, isert alone does not. The\nbuffers are still posted first, so the initiator\u0027s first command does not\nmeet an empty receive queue and nothing depends on RNR flow control, and\nthe header and payload live in isert_conn, not in the struct iscsi_login\nthat iscsi_target_nego_release() frees first.\n\nOver rxe, 400 login cycles per run, the oops appeared in 10 of 20\nunpatched runs and in none of 20 runs with this patch. An\ninitiator that never waits is handled by the next patch.\n\nNot tested: iWARP, discovery sessions over iSER, and real HCAs."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.5,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:N - The trigger is an ISCSI_OP_SCSI_CMD RDMA SEND handled by isert_recv_done after isert_put_login_tx already posted the final Login Response; those PDUs arrive from a remote initiator on the QP accepted by isert_connect_request after rdma_listen() in isert_setup_id, which binds RoCEv2 (UDP/IP) or iWARP (TCP).\nAC:L - The initiator completes login so isert_put_login_tx posts RX buffers and sends the Login Response, then immediately sends a SCSI command that isert_recv_done runs on ib-comp-wq before iscsi_post_login_handler calls __transport_register_session; the attacker controls both sides of that window and can retry.\nPR:N - login-\u003elogin_complete is set in iscsi_target_do_login CSG1 only after iscsi_conn_authenticated(); when tpg_attrib.authentication is 0, iscsi_handle_authentication() accepts AuthMethod=None with no secret, and generate_node_acls demo mode lets core_tpg_check_initiator_node_acl() admit a client-asserted InitiatorName.\nUI:N - The attacker is the iSER initiator that finishes login and posts the SCSI command on its own QP; no local user or administrator action is required.\nS:U - The NULL se_sess-\u003ese_tpg load in target_submit() oopses the same kernel that runs ib_isert; no VM, IOMMU, or sandbox boundary is crossed.\nC:N - transport_alloc_session() kmem_cache_zallocs se_session so se_tpg stays NULL until __transport_register_session(); target_submit() only loads se_tpg-\u003ese_tpg_tfo and takes a GPF, with no out-of-bounds read.\nI:N - The fault is a NULL load of se_cmd-\u003ese_sess-\u003ese_tpg in target_submit(); this path does not write kernel memory or reuse a freed object.\nA:H - KASAN reports a null-ptr-deref in target_submit() on ib-comp-wq (ib_cq_poll_work \u2192 isert_recv_done \u2192 iscsit_process_scsi_cmd \u2192 iscsit_execute_cmd), producing a kernel oops."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-18T17:54:24.543Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/e148dbac43308d9e4313070bfc5b355d03134809"
},
{
"url": "https://git.kernel.org/stable/c/a18fb8d540b3e631cb7e50e55f3c462c05b3a114"
},
{
"url": "https://git.kernel.org/stable/c/0d2efc355982064855f24f73f9fbb6c65ca4a5c7"
},
{
"url": "https://git.kernel.org/stable/c/f84e9adf4d9f4c0c79ef4a7d9e0c5c08b1337033"
},
{
"url": "https://git.kernel.org/stable/c/11694889c4bab47047a60690ceb70d7551ed5b2e"
},
{
"url": "https://git.kernel.org/stable/c/a6c19af05c170f267eca1d01c3c72c84ba7860ae"
},
{
"url": "https://git.kernel.org/stable/c/4397ea31e3b0d017c2b9b876b326df0b3eb845bf"
},
{
"url": "https://git.kernel.org/stable/c/464f5afa92d071a226f88424803b0fcf88093ede"
}
],
"title": "IB/isert: delay the final Login Response until the session is registered",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-90294",
"datePublished": "2026-09-17T16:08:20.664Z",
"dateReserved": "2026-09-11T19:38:34.798Z",
"dateUpdated": "2026-09-18T17:54:24.543Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Loading…
Trend slope:
-
(linear fit over daily sighting counts)
Show additional events:
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Loading…
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.
Loading…
Loading…