Executive brief
A vulnerability in the Linux kernel's USB driver could cause a system crash (kernel panic) when certain USB power management functions are triggered. This occurs because the system incorrectly attempts to perform a 'sleeping' operation while in a restricted processing state. An exploit could lead to a denial of service, impacting system availability and ongoing operations.
Technical details
A vulnerability in the Linux kernel's DWC3 USB gadget driver arises because dwc3_gadget_vbus_draw() can be invoked from an atomic context. This function calls power-supply-core APIs, specifically PMIC operations that may sleep. In Linux, calling functions that sleep while in an atomic context is prohibited and results in a kernel panic. The fix involves offloading the vbus_draw operation to a workqueue context to ensure it executes in a non-atomic environment. This is a local denial-of-service vulnerability.
Affected products
- Linux Linux Kernel 5.13 to 6.6.128, 6.7 to 6.12.75, 6.13 to 6.18.16, 6.19 to 6.19.6
Timeline
- 2026-05-06: disclosed
- 2026-05-06: advisory
- 2026-02-05: patched
References
- https://git.kernel.org/stable/c/2333653ef854c2cc124077f71a8526f03bf6e06a
- https://git.kernel.org/stable/c/54aaa3b387c2f580a99dc86a9cc2eb6dfaf599a7
- https://git.kernel.org/stable/c/74a231e3d99d310497ab0ccb359539a6063b316a
- https://git.kernel.org/stable/c/76c1123ffccfaba95cf4ecc2a50f95504a522424
- https://git.kernel.org/stable/c/a7a80c25b65112768eeba58a7af129d3c52a6d90