CVE-2026-64454

CVE-2026-64454

published July 25, 2026

CVSS
—
EPSS
0%
Percentile
7.2
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

usb: dwc3: run gadget disconnect from sleepable suspend context

dwc3_gadget_suspend() takes dwc->lock with IRQs disabled and then calls

dwc3_disconnect_gadget(). For async callbacks that helper only uses

plain spin_unlock()/spin_lock(), so the gadget ->disconnect() callback

still runs with IRQs disabled and any sleepable callback trips Lockdep.

This issue was found by our static analysis tool and then manually

reviewed against the current tree.

The grounded PoC kept the dwc3_gadget_suspend() ->

dwc3_disconnect_gadget() -> gadget_driver->disconnect() chain, and

Lockdep reported:

BUG: sleeping function called from invalid context

gadget_disconnect+0x21/0x39 [vuln_msv]

dwc3_gadget_suspend.constprop.0+0x2b/0x42 [vuln_msv]

Keep the disconnect callback selection in one common helper, but add a

sleepable suspend-side wrapper which snapshots the callback under

dwc->lock and then runs it after spin_unlock_irqrestore(). The regular

event path still uses the existing spin_unlock()/spin_lock() window.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00180 · 7.2th percentile
Published
2026-07-25T14:17Z
References (7)
EPSS history
Timeline
  • 25 JUL 08:51Z
    usb: dwc3: run gadget disconnect from sleepable suspend context
    cvelistv5