{"id":"CVE-2026-64003","state":"PUBLISHED","title":"scsi: core: Run queues for all non-SDEV_DEL devices from scsi_run_host_queues","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: core: Run queues for all non-SDEV_DEL devices from scsi_run_host_queues\n\nWhile a SCSI host is in a recovery state, scsi_mq_requeue_cmd() will not\nset the requeue list for a requeued command to be kicked in the future.\nThe expectation is a call to scsi_run_host_queues() will kick all SCSI\ndevices once the recovery state is cleared.\n\nHowever, scsi_run_host_queues() uses shost_for_each_device() which uses\nscsi_device_get() and so will ignore devices in a partially removed\nstate like SDEV_CANCEL. But these devices may also have requeued\nrequests, leaving their requests stuck from not being kicked and causing\nthe removal process of the device to hang.\n\nscsi_run_host_queues() needs to run against more devices than the macro\nshost_for_each_device() allows. Instead of using the too limiting\nscsi_device_get() state checks, only ignore devices in SDEV_DEL state or\nwhen unable to acquire a reference. Attempt to run the queues for all\nother devices when scsi_run_host_queues() is called.","publishedAt":"2026-07-19T14:56:20.172Z","updatedAt":"2026-10-19T20:18:02.511Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"8b566edbdbfb5cde31a322c57932694ff48125ed","status":"affected","lessThan":"15fb19af49f2073ed77fad16aaabc648b0ca6800","versionType":"git"},{"version":"8b566edbdbfb5cde31a322c57932694ff48125ed","status":"affected","lessThan":"d4dddfecdbb5467bef158d4e1486459808357fef","versionType":"git"},{"version":"8b566edbdbfb5cde31a322c57932694ff48125ed","status":"affected","lessThan":"475f2b37a78f4c698967a7f14f325f04e24c9175","versionType":"git"},{"version":"8b566edbdbfb5cde31a322c57932694ff48125ed","status":"affected","lessThan":"c740e13e7fe32d8e4d9a1699f65b8daf6709895a","versionType":"git"},{"version":"8b566edbdbfb5cde31a322c57932694ff48125ed","status":"affected","lessThan":"7205b58702273baf21d6ba7992e6ba15852325f7","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/scsi_lib.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.5","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.5","versionType":"semver"},{"version":"6.6.143","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.93","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.35","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.12","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/scsi_lib.c"]}],"references":["https://git.kernel.org/stable/c/15fb19af49f2073ed77fad16aaabc648b0ca6800","https://git.kernel.org/stable/c/d4dddfecdbb5467bef158d4e1486459808357fef","https://git.kernel.org/stable/c/475f2b37a78f4c698967a7f14f325f04e24c9175","https://git.kernel.org/stable/c/c740e13e7fe32d8e4d9a1699f65b8daf6709895a","https://git.kernel.org/stable/c/7205b58702273baf21d6ba7992e6ba15852325f7"],"weaknesses":["CWE-400"],"ingestedAt":"2026-10-29T20:12:41.951Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/64xxx/CVE-2026-64003.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-64003","state":"PUBLISHED","datePublished":"2026-07-19T14:56:20.172Z","dateUpdated":"2026-10-19T20:18:02.511Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-19T07:54:57.026Z"},"containers":{"cna":{"title":"scsi: core: Run queues for all non-SDEV_DEL devices from scsi_run_host_queues","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: core: Run queues for all non-SDEV_DEL devices from scsi_run_host_queues\n\nWhile a SCSI host is in a recovery state, scsi_mq_requeue_cmd() will not\nset the requeue list for a requeued command to be kicked in the future.\nThe expectation is a call to scsi_run_host_queues() will kick all SCSI\ndevices once the recovery state is cleared.\n\nHowever, scsi_run_host_queues() uses shost_for_each_device() which uses\nscsi_device_get() and so will ignore devices in a partially removed\nstate like SDEV_CANCEL. But these devices may also have requeued\nrequests, leaving their requests stuck from not being kicked and causing\nthe removal process of the device to hang.\n\nscsi_run_host_queues() needs to run against more devices than the macro\nshost_for_each_device() allows. Instead of using the too limiting\nscsi_device_get() state checks, only ignore devices in SDEV_DEL state or\nwhen unable to acquire a reference. Attempt to run the queues for all\nother devices when scsi_run_host_queues() is called."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"8b566edbdbfb5cde31a322c57932694ff48125ed","status":"affected","lessThan":"15fb19af49f2073ed77fad16aaabc648b0ca6800","versionType":"git"},{"version":"8b566edbdbfb5cde31a322c57932694ff48125ed","status":"affected","lessThan":"d4dddfecdbb5467bef158d4e1486459808357fef","versionType":"git"},{"version":"8b566edbdbfb5cde31a322c57932694ff48125ed","status":"affected","lessThan":"475f2b37a78f4c698967a7f14f325f04e24c9175","versionType":"git"},{"version":"8b566edbdbfb5cde31a322c57932694ff48125ed","status":"affected","lessThan":"c740e13e7fe32d8e4d9a1699f65b8daf6709895a","versionType":"git"},{"version":"8b566edbdbfb5cde31a322c57932694ff48125ed","status":"affected","lessThan":"7205b58702273baf21d6ba7992e6ba15852325f7","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/scsi_lib.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.5","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.5","versionType":"semver"},{"version":"6.6.143","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.93","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.35","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.12","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/scsi_lib.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/15fb19af49f2073ed77fad16aaabc648b0ca6800"},{"url":"https://git.kernel.org/stable/c/d4dddfecdbb5467bef158d4e1486459808357fef"},{"url":"https://git.kernel.org/stable/c/475f2b37a78f4c698967a7f14f325f04e24c9175"},{"url":"https://git.kernel.org/stable/c/c740e13e7fe32d8e4d9a1699f65b8daf6709895a"},{"url":"https://git.kernel.org/stable/c/7205b58702273baf21d6ba7992e6ba15852325f7"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:N - The bug is in the SCSI core midlayer reached after host error recovery; on enterprise servers using kernel iSCSI (iscsi_tcp/libiscsi), a remote storage target can inject SCSI failures and then drive session teardown that calls scsi_remove_target(), all over TCP without local access.\nAC:L - A malicious or compromised iSCSI peer controls both sides of the race by timing command failures, non-responsive task-management replies, and connection resets so SCSI EH recovery overlaps with device removal in SDEV_CANCEL.\nPR:N - Exploitation requires no privileges on the victim host; the attacker acts as the remote iSCSI endpoint on an already-established session and needs no CAP_SYS_ADMIN, sysfs writes, or ioctl access.\nUI:N - No end-user action is required during exploitation; recovery and removal are driven automatically by kernel SCSI/iSCSI error-handling once the session exists.\nS:U - Impact is a kernel hang during SCSI device teardown on the same host; it does not cross a VM, IOMMU, or sandbox security boundary.\nC:N - This is a queue-dispatch logic bug that leaves requeued requests stuck; there is no memory corruption, out-of-bounds access, or information disclosure.\nI:N - The flaw prevents requeued I/O from being kicked and blocks removal completion; it does not modify data or provide a write or code-execution primitive.\nA:H - Stuck requeued requests leave devices in SDEV_CANCEL with queues never kicked after recovery, causing the device removal path to hang indefinitely (deadlock), potentially blocking storage teardown, module unload, or shutdown."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T12:38:03.750Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.5","versionEndExcluding":"6.6.143"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.5","versionEndExcluding":"6.12.93"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.5","versionEndExcluding":"6.18.35"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.5","versionEndExcluding":"7.0.12"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.5","versionEndExcluding":"7.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-64003","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-16T15:35:05.354063Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-400","lang":"en","type":"CWE","description":"CWE-400 Uncontrolled Resource Consumption"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T20:18:02.511Z"}}]}}}