CVE-2026-93781
Received Received - Intake

Deadlock in Linux Kernel SCSI Subsystem

Vulnerability report for CVE-2026-93781, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-24

Last updated on: 2026-10-03

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: scsi: core: Do not block on tag allocation in scsi_eh_lock_door() scsi_eh_lock_door() is called from scsi_restart_operations() while the host is still in the SHOST_RECOVERY state, i.e. before the host is switched back to SHOST_RUNNING and scsi_run_host_queues() restarts the queues. It allocates a request via scsi_alloc_request() with no flags, so blk_mq_get_tag() may block waiting for a free sched tag when all tags are already in use. Those tags can be held by commands that were just requeued by scsi_eh_flush_done_q() during error handling. Such commands cannot be dispatched until the host leaves SHOST_RECOVERY and scsi_run_host_queues() is called - which only happens *after* scsi_eh_lock_door() returns. This forms a circular dependency: - scsi_eh_lock_door(), running in the SCSI error handler thread, waits for a sched tag held by a requeued command; - the requeued command cannot complete and release its sched tag until the error handler thread leaves scsi_restart_operations() and restart the queues. For devices with a single driver tag (e.g. USB storage) it is a guaranteed deadlock and I/O that can never be submitted. This problem has also been reproduced in our environment. Locking the door is a best-effort operation, and scsi_eh_lock_door() already returns silently when the request allocation fails. Pass BLK_MQ_REQ_NOWAIT to scsi_alloc_request() so the allocation fails instead of blocking when no tag is available. This breaks the circular dependency and allows the error handler to finish restarting the queues, after which the pending commands are dispatched normally.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-24
Last Modified
2026-10-03
Generated
2026-10-15
AI Q&A
2026-09-25
EPSS Evaluated
2026-10-13
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a deadlock issue in the Linux kernel's SCSI subsystem. It occurs when the scsi_eh_lock_door() function tries to allocate a request tag while the system is recovering from an error. The function blocks waiting for a free tag, but those tags are held by commands that cannot complete until recovery finishes, creating a circular dependency that halts I/O operations.

Detection Guidance

This vulnerability is specific to the Linux kernel's SCSI subsystem and may cause system hangs during error recovery. Detection requires checking kernel logs for SCSI-related deadlocks or I/O stalls during recovery operations. Monitor for messages like 'scsi_eh_lock_door' or 'tag allocation failure' in dmesg or journalctl logs.

Impact Analysis

This vulnerability can cause a complete system hang for devices with limited driver tags, such as USB storage. The deadlock prevents any I/O operations from being submitted, potentially freezing the system until manually restarted. It disrupts normal operations during error recovery scenarios.

Compliance Impact

This vulnerability is a Linux kernel issue related to SCSI error handling causing potential deadlocks in I/O operations. It does not directly impact compliance with standards like GDPR or HIPAA, as those focus on data protection, privacy, and security controls rather than kernel-level I/O deadlocks.

Mitigation Strategies

Apply the kernel patch that modifies scsi_eh_lock_door() to use BLK_MQ_REQ_NOWAIT flag. Update to a kernel version containing the fix (CVE-2026-93781). If immediate patching is not possible, avoid triggering SCSI error recovery paths until the fix is applied.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-93781. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart