Skip to content
Sign in
CVE-2026-991539.8Critical

scsi: libiscsi: Validate the ITT reflected in a Reject PDU

Linux

Not in CISA KEVVendor fix available
0.6%probability of exploitation in the next 30 days
46th percentile
050100

Higher than 46% of scored CVEs

9.8CriticalCVSS
LowCrit.

DescriptionNVD

In the Linux kernel, the following vulnerability has been resolved: scsi: libiscsi: Validate the ITT reflected in a Reject PDU A Reject PDU carries a copy of the header it rejects, and iscsi_handle_reject() takes the ITT out of that copy to find the task to clean up: memcpy(&rejected_pdu, data, sizeof(struct iscsi_hdr)); ... task = iscsi_itt_to_task(conn, rejected_pdu.itt); That value is whatever the target put there. iscsi_itt_to_task() bounds the index against cmds_max and checks nothing else, so any task in the pool can be named, and iscsi_nop_out_rsp() then completes it. An index that has never been used gives a NULL task->conn: the pool is zeroed at session setup and conn is assigned only when a task is allocated. If the task was used and returned, iscsi_complete_task() hits its WARN_ON_ONCE(task->state == ISCSI_TASK_FREE) and the refcount underflows. An in-flight SCSI command is completed as successful a 1 MiB read returned 1048576 with none of its buffer written and no warning. Validate the reflected ITT the way iscsi_itt_to_ctask() validates a command ITT, and require the task to be in flight and not a SCSI command. [ 6.248477] Oops: general pr

Coverage1 article · 1 outlet

First in our coverage: SecurityOnline, 3 Nov.

  1. Linux Kernel Roundup Flags Two Critical iSCSI Flaws
    SecurityOnline · first in our coverage · mentions it in passing

New articles also arrive in the RSS feed.

References

Updated AboutDevelopersSign in