CVE-2026-74754 scsi: core: pair EH runtime PM get and put
A race condition in the Linux kernel SCSI error handling can cause runtime PM reference underflows, leading to system instability or denial of service.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-74754?
CVE-2026-74754 is a vulnerability in Linux, published on 26 Aug 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
scsi: core: pair EH runtime PM get and put
shost->eh_noresume is currently consulted twice in one error handling iteration: once before scsi_autopm_get_host() and once again before scsi_autopm_put_host().
That is racy when a PM-triggered error path flips shost->eh_noresume while the SCSI EH thread is still running.
The problem flow looks like this: PM path ufshcd_set_dev_pwr_mode() shost->eh_noresume = 1 ufshcd_execute_start_stop <-- trigger EH ... shost->eh_noresume = 0
EH path scsi_error_handler() if (!shost->eh_noresume) scsi_autopm_get_host() <-- skipped ... if (!shost->eh_noresume) scsi_autopm_put_host() <-- executed later
In that case one EH iteration can skip autoresume on entry and still drop a runtime PM reference on exit. That leaves an unmatched runtime PM put and can trigger a runtime PM usage count underflow.
Fix this by making eh_noresume a regular bool so it can be accessed with READ_ONCE() and WRITE_ONCE(). Snapshot it once per EH iteration and use that snapshot for both runtime PM get and put decisions.
Which versions are affected by CVE-2026-74754?
How do I fix CVE-2026-74754?
Apply the vendor's patch.
Is CVE-2026-74754 being exploited?
There is no known exploitation of CVE-2026-74754 in the wild and no public exploit code.
Sources
Also known as AZL-97791, BELL-CVE-2026-74754, DEBIAN-CVE-2026-74754, GHSA-5jqh-pxwf-wg8m, UBUNTU-CVE-2026-74754.