CVE-2021-47267: usb: fix various gadget panics on 10gbps cabling
In the Linux kernel, the following vulnerability has been resolved:
usb: fix various gadget panics on 10gbps cabling
usb_assign_descriptors() is called with 5 parameters,
the last 4 of which are the usb_descriptor_header for:
full-speed (USB1.1 - 12Mbps [including USB1.0 low-speed @ 1.5Mbps),
high-speed (USB2.0 - 480Mbps),
super-speed (USB3.0 - 5Gbps),
super-speed-plus (USB3.1 - 10Gbps).
The differences between full/high/super-speed descriptors are usually
substantial (due to changes in the maximum usb block size from 64 to 512
to 1024 bytes and other differences in the specs), while the difference
between 5 and 10Gbps descriptors may be as little as nothing
(in many cases the same tuning is simply good enough).
However if a gadget driver calls usb_assign_descriptors() with
a NULL descriptor for super-speed-plus and is then used on a max 10gbps
configuration, the kernel will crash with a null pointer dereference,
when a 10gbps capable device port + cable + host port combination shows up.
(This wouldn't happen if the gadget max-speed was set to 5gbps, but
it of course defaults to the maximum, and there's no real reason to
artificially limit it)
The fix is to simply use the 5gbps descriptor as the 10gbps descriptor,
if a 10gbps descriptor wasn't provided.
Obviously this won't fix the problem if the 5gbps descriptor is also
NULL, but such cases can't be so trivially solved (and any such gadgets
are unlikely to be used with USB3 ports any way).
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel crash risk in systems that operate as USB gadgets. A 10Gbps-capable USB setup can trigger a null pointer dereference when a gadget driver lacks a super-speed-plus descriptor. The business impact is most likely device or service instability, not broad enterprise compromise.
Executive priority
Prioritize patching for embedded, appliance, mobile, lab, or OT devices that expose Linux USB gadget functionality. Treat normal Linux server fleets as lower priority unless they use gadget mode or custom USB functions.
Technical view
usb_assign_descriptors() accepted separate descriptors for full, high, super-speed, and super-speed-plus modes. If a gadget driver passed NULL for the 10Gbps descriptor and the device negotiated a 10Gbps configuration, the kernel could panic. The kernel fix reuses the 5Gbps descriptor when no 10Gbps descriptor is provided.
Likely exposure
Exposure is most relevant to Linux systems using USB gadget mode with USB 3.1 10Gbps-capable device ports, cables, and hosts. General servers not acting as USB gadgets are unlikely to be exposed based on the provided description.
Exploitation context
The bundle does not cite active exploitation, and KEV is false. The trigger requires a specific USB gadget configuration and 10Gbps-capable connection path. The provided CVSS is 6.3 medium, with limited confidentiality, integrity, and availability impact recorded.
Researcher notes
The source evidence is kernel-focused and describes a panic caused by NULL super-speed-plus descriptors. It does not identify affected distributions, specific gadget drivers, public exploits, or separate mitigations beyond the kernel fix. Validate exposure against deployed kernel trees and vendor backports.
Mitigation direction
Apply the relevant Linux stable kernel fix for deployed kernel branches.
Check vendor kernel advisories for backported fixes in distribution kernels.
Avoid 10Gbps gadget operation where patching is not immediately possible.
Review custom gadget drivers for missing super-speed-plus descriptors.
Validation and detection
Inventory devices using Linux USB gadget mode.
Confirm kernel versions against the listed affected and fixed stable references.
Test whether gadget drivers provide super-speed-plus descriptors or rely on fallback behavior.
Verify patched kernels include the descriptor fallback change.
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-2021-47267 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.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.