Vulnerabilities
- CVSS
- 5.5 Medium
- Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H- EPSS
- 0.09%
- Risk score
- 0.4
- Published
- 2026-02-04
- Status
- Published
In the Linux kernel, the following vulnerability has been resolved:
scsi: core: Wake up the error handler when final completions race against each other
The fragile ordering between marking commands completed or failed so
that the error handler only wakes when the last running command
completes or times out has race conditions. These race conditions can
cause the SCSI layer to fail to wake the error handler, leaving I/O
through the SCSI host stuck as the error state cannot advance.
First, there is an memory ordering issue within scsi_dec_host_busy().
The write which clears SCMD_STATE_INFLIGHT may be reordered with reads
counting in scsi_host_busy(). While the local CPU will see its own
write, reordering can allow other CPUs in scsi_dec_host_busy() or
scsi_eh_inc_host_failed() to see a raised busy count, causing no CPU to
see a host busy equal to the host_failed count.
This race condition can be prevented with a memory barrier on the error
path to force the write to be visible before counting host busy
commands.
Second, there is a general ordering issue with scsi_eh_inc_host_failed(). By
counting busy commands before incrementing host_failed, it can race with a
final command in scsi_dec_host_busy(), such that scsi_dec_host_busy() does
not see host_failed incremented but scsi_eh_inc_host_failed() counts busy
commands before SCMD_STATE_INFLIGHT is cleared by scsi_dec_host_busy(),
resulting in neither waking the error handler task.
This needs the call to scsi_host_busy() to be moved after host_failed is
incremented to close the race condition.
Race condition vulnerabilities were found in the Linux kernel's SCSI error handler wake-up logic. Memory ordering issues in scsi_dec_host_busy() and ordering problems in scsi_eh_inc_host_failed() can cause the SCSI error handler to never wake up when command completions race against each other. This leaves I/O stuck indefinitely as the error recovery state cannot advance.
Coverage 6
vulnerability
Multiple vulnerabilities have been discovered in the Linux kernel of Ubuntu. Some of these vulnerabilities allow for privilege escalation, data confidentiality breaches, and data integrity compromise. The vulnerabilities…
vulnerability
Multiple vulnerabilities have been discovered in Red Hat's Linux kernel. These vulnerabilities allow for arbitrary code execution, privilege escalation, and denial-of-service attacks. The affected products include variou…
vulnerability
Multiple vulnerabilities have been discovered in the Linux kernel of Ubuntu. Some of these vulnerabilities allow for privilege escalation, data confidentiality breaches, and data integrity compromise. These vulnerabiliti…
data-breach
Multiple vulnerabilities have been identified in the additional GNU/Linux subsystem of the firmware version V3.1.6 for the SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP (incl. SIPLUS variant). Siemens is preparing fix versions…
threat-intel
Multiple vulnerabilities have been discovered in the Linux kernel of Ubuntu. Some of these vulnerabilities allow for privilege escalation, data confidentiality breaches, and denial of service attacks. The vulnerabilities…
vulnerability
Multiple vulnerabilities have been discovered in the Red Hat Linux kernel. Some of these vulnerabilities allow an attacker to cause remote code execution, privilege escalation, and a denial-of-service attack. These vulne…
Advisories and references