CVE-2025-21776: USB: hub: Ignore non-compliant devices with too many configs or interfaces
In the Linux kernel, the following vulnerability has been resolved:
USB: hub: Ignore non-compliant devices with too many configs or interfaces
Robert Morris created a test program which can cause
usb_hub_to_struct_hub() to dereference a NULL or inappropriate
pointer:
Oops: general protection fault, probably for non-canonical address
0xcccccccccccccccc: 0000 [#1] SMP DEBUG_PAGEALLOC PTI
CPU: 7 UID: 0 PID: 117 Comm: kworker/7:1 Not tainted 6.13.0-rc3-00017-gf44d154d6e3d #14
Hardware name: FreeBSD BHYVE/BHYVE, BIOS 14.0 10/17/2021
Workqueue: usb_hub_wq hub_event
RIP: 0010:usb_hub_adjust_deviceremovable+0x78/0x110
...
Call Trace:
<TASK>
? die_addr+0x31/0x80
? exc_general_protection+0x1b4/0x3c0
? asm_exc_general_protection+0x26/0x30
? usb_hub_adjust_deviceremovable+0x78/0x110
hub_probe+0x7c7/0xab0
usb_probe_interface+0x14b/0x350
really_probe+0xd0/0x2d0
? __pfx___device_attach_driver+0x10/0x10
__driver_probe_device+0x6e/0x110
driver_probe_device+0x1a/0x90
__device_attach_driver+0x7e/0xc0
bus_for_each_drv+0x7f/0xd0
__device_attach+0xaa/0x1a0
bus_probe_device+0x8b/0xa0
device_add+0x62e/0x810
usb_set_configuration+0x65d/0x990
usb_generic_driver_probe+0x4b/0x70
usb_probe_device+0x36/0xd0
The cause of this error is that the device has two interfaces, and the
hub driver binds to interface 1 instead of interface 0, which is where
usb_hub_to_struct_hub() looks.
We can prevent the problem from occurring by refusing to accept hub
devices that violate the USB spec by having more than one
configuration or interface.
Security readout for executives and security teams
Plain-English summary
CVE-2025-21776 is a Linux kernel USB hub handling flaw. A malformed, non-compliant USB hub device can trigger a kernel fault when processed. The documented impact is system instability or crash risk, not confirmed remote compromise. Exposure is most relevant where untrusted USB devices can be connected or passed into Linux systems.
Executive priority
Treat this as a targeted stability risk rather than an internet-scale emergency. Prioritize patched kernels on systems with exposed USB ports, labs, kiosks, industrial devices, or virtualized environments that allow USB device passthrough.
Technical view
The Linux USB hub driver can bind to interface 1 on a non-compliant hub with multiple interfaces, while usb_hub_to_struct_hub() expects interface 0. This can cause NULL or inappropriate pointer dereference during hub probing. The upstream resolution rejects hub devices with more than one configuration or interface.
Likely exposure
Linux systems, appliances, and embedded products using affected kernel branches are potentially exposed if they process untrusted malformed USB hub devices. Systems with controlled physical access and no USB passthrough have lower practical exposure.
Exploitation context
The source describes a test program causing a kernel oops. KEV is false, and the provided sources do not report active exploitation. Evidence supports malformed-device-triggered kernel fault risk, but not proven widespread exploitation or remote attackability.
Researcher notes
The evidence points to a USB core hub parsing and binding issue fixed by rejecting non-compliant hub descriptors. No CVSS, CWE, or exploit-in-the-wild evidence is provided. Validate branch-specific status through upstream stable commits and downstream vendor backports.
Mitigation direction
Update Linux kernels using vendor or distribution guidance that includes the referenced stable fixes.
Apply Debian LTS kernel updates where Debian advisories apply.
Restrict untrusted USB device access on sensitive Linux systems.
Review Siemens advisories if using affected Siemens products.
Check vendor guidance for embedded or appliance kernels before deploying fixes.
Validation and detection
Inventory Linux kernel versions across servers, workstations, appliances, and embedded systems.
Confirm whether kernels include the referenced USB hub stable commits or vendor backports.
Review physical and virtual USB exposure, including device passthrough policies.
Check Debian and Siemens advisories for product-specific applicability.
Monitor logs for kernel oops events involving USB hub probing.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-21776 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
2ADP providers
13Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Feb 27, 2025, 02:18 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.