In the Linux kernel, the following vulnerability has been resolved:
PM: hibernate: defer device probing when resuming from hibernation
syzbot is reporting hung task at misc_open() [1], for there is a race window of AB-BA deadlock which involves probe_count variable. Currently wait_for_device_probe() from snapshot_open() from misc_open() can sleep forever with misc_mtx held if probe_count cannot become 0.
When a device is probed by hub_event() work function, probe_count is incremented before the probe function starts, and probe_count is decremented after the probe function completed.
There are three cases that can prevent probe_count from dropping to 0.
(a) A device being probed stopped responding (i.e. broken/malicious hardware).
(b) A process emulating a USB device using /dev/raw-gadget interface stopped responding for some reason.
(c) New device probe requests keeps coming in before existing device probe requests complete.
The phenomenon syzbot is reporting is (b). A process which is holding system_transition_mutex and misc_mtx is waiting for probe_count to become 0 inside wait_for_device_probe(), but the probe function which is called from hub_event() work function is waiting for the processes which are blocked at mutex_lock(&misc_mtx) to respond via /dev/raw-gadget interface.
This patch mitigates (b) by deferring wait_for_device_probe() from snapshot_open() to snapshot_write() and snapshot_ioctl(). Please note that the possibility of (b) remains as long as any thread which is emulating a USB device via /dev/raw-gadget interface can be blocked by uninterruptible blocking operations (e.g. mutex_lock()).
Please also note that (a) and (c) are not addressed. Regarding (c), we should change the code to wait for only one device which contains the image for resuming from hibernation. I don't know how to address (a), for use of timeout for wait_for_device_probe() might result in loss of user data in the image. Maybe we should require the userland to wait for the image device before opening /dev/snapshot interface.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-toolsUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-livepatch-4.14.291-218.527Upgrade python-perf-debuginfoUpgrade perf-debuginfoUpgrade perfUpgrade kernel-tools-develUpgrade kernel-headersUpgrade kernel-develUpgrade kernel-livepatch-5.10.144-127.601Upgrade bpftool-debuginfoUpgrade kernel-debuginfoUpgrade bpftoolUpgrade kernelUpgrade kernel-debuginfo-common-x86_64Upgrade python-perfUpgrade kernel-livepatch-5.15.69-37.134Upgrade kernel-tools-debuginfo | Jul 9, 2025 | Jun 18, 2025 |
| Debian | — | Upgrade linux | Jun 20, 2025 | Jun 20, 2025 |
| Dell Powerstore Dsa2025429 | — | Upgrade Dell PowerStoreOS to the latest version | Dec 3, 2025 | Dec 2, 2025 |
| Dell Powerstore Dsa2026039 | — | Upgrade Dell PowerStoreOS to the latest version | Jan 13, 2026 | Jan 6, 2026 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernelUpgrade kernel-tools-libs | Sep 15, 2025 | Sep 9, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-toolsUpgrade bpftoolUpgrade python3-perfUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade kernel | Oct 24, 2025 | Sep 9, 2025 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rtNo solution exists | Jul 9, 2025 | Jun 18, 2025 |
| Ubuntu | — | Upgrade linux-raspi-5.4Upgrade linux-azure-5.15Upgrade linux-kvmUpgrade linux-ibmUpgrade linux-azure-5.4Upgrade linux-azure-4.15Upgrade linux-iotUpgrade linux-lowlatency-hwe-5.15Upgrade linux-bluefieldUpgrade linux-fipsUpgrade linux-raspiUpgrade linux-gcp-4.15Upgrade linux-intel-iotg-5.15Upgrade linux-azureUpgrade linux-hweUpgrade linux-nvidiaUpgrade linux-aws-5.15Upgrade linux-oracleUpgrade linux-aws-fipsUpgrade linux-hwe-5.15Upgrade linux-intel-iotgUpgrade linux-realtimeUpgrade linux-gcp-5.15Upgrade linux-aws-5.4Upgrade linux-oracle-5.15Upgrade linux-riscv-5.15Upgrade linux-hwe-5.4Upgrade linuxUpgrade linux-aws-hweUpgrade linux-awsUpgrade linux-gkeopUpgrade linux-azure-fipsUpgrade linux-gcpUpgrade linux-azure-fde-5.15Upgrade linux-gkeUpgrade linux-gcp-fipsUpgrade linux-lowlatencyUpgrade linux-oracle-5.4Upgrade linux-ibm-5.4Upgrade linux-gcp-5.4 | Jun 26, 2025 | Jun 18, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | May 27, 2026 | Jun 18, 2025 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub