GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel libiscsi: negative task index from parse_pdu_itt reads before the command array

CVSS 9.8CVE-2026-99154Kernel, userspace & hypervisorcurated

Impact

Both libiscsi task lookups bound the transport-supplied index from above only (if (i >= session->cmds_max)), and because both the index and cmds_max are signed ints a negative value passes the check and session->cmds[i] is read from memory before the array. be2iscsi actually produces one: beiscsi_parse_pdu() assigns the raw tag and beiscsi_complete_pdu() forwards an unsolicited NOP-In from the hardware async ring with the target's ITT intact, and it reports the session's own age rather than the one in the tag, so the age comparison in iscsi_verify_itt() has nothing left to reject. The result is an out-of-bounds read turned into a bogus task pointer - kernel memory disclosure or a crash on a node that is doing iSCSI storage I/O. This is a different code path and a different fix from the Reject-PDU ITT bug (CVE-2026-99153); it needs an Emulex/Broadcom be2iscsi offload HBA to be reachable in practice.

Who can reach it

Reachable from the iSCSI target or from an attacker on the storage network who can inject into the initiator's session; no local access and no additional authentication. Requires a transport that implements parse_pdu_itt - in the reported case the be2iscsi offload driver. Nodes with no iSCSI initiator, or using software iSCSI only, are much less exposed.

What to do

Move to a stable kernel carrying the fix that bounds the index from below in both lookups (five stable commits are linked in the record; no single fixed release is named), then drain and reboot each node running be2iscsi hardware. No runtime mitigation exists short of unbinding the offload initiator; restricting which targets the node logs into reduces who can supply the tag.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.