Reference page — cumulative record through Wednesday, August 19, 2026 UTC. Reference pages update as the archive grows; only dated daily editions are immutable pages of record.
Linux Linux — USB: Gadget: core: Help prevent panic during UVC unconfigure
AV AC PR UI S C I A CVSS EPSS %ile KEV
L L L N U N N H 5.5 .0011 1.8 —
AFFECTED
Product Versions Fixed
Linux d8195536ce2624e2947d9f56b1a61e7a27874bd3 – —
Linux 6.4 – 6.1.46
TIMELINE
Oct 4 Reserved by Linux
Oct 4 Published (CNA: Linux)
Aug 4 RESCORED — CVE-2023-53580 (Linux). CVSS 7.8 → 5.5 (NVD).
Description
In the Linux kernel, the following vulnerability has been resolved:
USB: Gadget: core: Help prevent panic during UVC unconfigure
Avichal Rakesh reported a kernel panic that occurred when the UVC
gadget driver was removed from a gadget's configuration. The panic
involves a somewhat complicated interaction between the kernel driver
and a userspace component (as described in the Link tag below), but
the analysis did make one thing clear: The Gadget core should
accomodate gadget drivers calling usb_gadget_deactivate() as part of
their unbind procedure.
Currently this doesn't work. gadget_unbind_driver() calls
driver->unbind() while holding the udc->connect_lock mutex, and
usb_gadget_deactivate() attempts to acquire that mutex, which will
result in a deadlock.
The simple fix is for gadget_unbind_driver() to release the mutex when
invoking the ->unbind() callback. There is no particular reason for
it to be holding the mutex at that time, and the mutex isn't held
while the ->bind() callback is invoked. So we'll drop the mutex
before performing the unbind callback and reacquire it afterward.
We'll also add a couple of comments to usb_gadget_activate() and
usb_gadget_deactivate(). Because they run in process context they
must not be called from a gadget driver's ->disconnect() callback,
which (according to the kerneldoc for struct usb_gadget_driver in
include/linux/usb/gadget.h) may run in interrupt context. This may
help prevent similar bugs from arising in the future.
Lifecycle
Complete event history — 3 events, chronological
| Date | Event | Detail |
| October 4, 2025 | Reserved | Reserved by Linux |
| October 4, 2025 | Published | Published (CNA: Linux) |
| August 4, 2026 | RESCORED | RESCORED — CVE-2023-53580 (Linux). CVSS 7.8 → 5.5 (NVD). |
Affected
Affected products and packages — 2 rows
| Vendor | Product / Package | Ecosystem | Version introduced | Fixed |
| Linux | Linux | — | d8195536ce2624e2947d9f56b1a61e7a27874bd3 | — |
| Linux | Linux | — | 6.4 | 6.1.46 |
About this page
This is a reference page, not a dated page of record. It assembles the complete lifecycle of CVE-2023-53580 from the CVE Program record, NVD enrichment, the CISA KEV catalog, EPSS, and OSV advisories. The box score's numbers (CVSS, EPSS, KEV status) are current as of Wednesday, August 19, 2026 UTC and are re-derived as the archive grows; only dated daily editions are immutable pages of record. The authoritative source for this identifier is cve.org.