CVE-2021-47267 json
usb: fix various gadget panics on 10gbps cabling
published 2024-05-21 2 y ago modified 2026-06-17 4 mo ago also EUVD-2021-34272
- cvss
- 6.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 52%
- public exploits
- 0
- none known
Summary
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).
Patch / fix
- Linux Linux 4.9.273, 4.14.237, 4.19.195, 5.4.126, 5.10.44, 5.12.11, 5.13
- linux Debian 14, Debian 13, Debian 12 5.10.46-1
debian advisories DEBIAN-CVE-2021-47267
- linux Ubuntu 18.04 LTS 4.15.0-156.163
- linux Ubuntu 20.04 LTS 5.4.0-81.91
- linux-aws Ubuntu 18.04 LTS 4.15.0-1111.118
- linux-aws Ubuntu 20.04 LTS 5.4.0-1055.58
- linux-gcp Ubuntu 20.04 LTS 5.4.0-1051.55
- linux-kvm Ubuntu 18.04 LTS 4.15.0-1099.101
- linux-kvm Ubuntu 20.04 LTS 5.4.0-1045.47
- linux-azure Ubuntu 20.04 LTS 5.4.0-1056.58
ubuntu advisories UBUNTU-CVE-2021-47267
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-syms SLES for SAP 12 SP5, SLES 12 SP5 4.12.14-122.222.1
- kernel-source SLES for SAP 12 SP5, SLES 12 SP5 4.12.14-122.222.1
- kernel-default SLES for SAP 12 SP5, SLES 12 SP5, SLE Workstation Extension 12 SP5 +2 more 4.12.14-122.222.1
- kernel-obs-build SLE Software Development Kit 12 SP5 4.12.14-122.222.1
- kernel-rt SLE Real Time 12 SP5 4.12.14-10.191.1
- kernel-syms-rt SLE Real Time 12 SP5 4.12.14-10.191.1
- kernel-rt_debug SLE Real Time 12 SP5 4.12.14-10.191.1
- kernel-source-rt SLE Real Time 12 SP5 4.12.14-10.191.1
suse advisories SUSE-SU-2024:2561-1SUSE-SU-2024:2381-1SUSE-SU-2024:2360-1SUSE-SU-2024:2185-1SUSE-SU-2024:2183-1SUSE-SU-2024:2010-1
- git.kernel.org/stable/c/fd24be23abf3e94260be0f00bb42c7e91d495f87 commit
- git.kernel.org/stable/c/70cd19cb5bd94bbb5bacfc9c1e4ee0071699a604 commit
- git.kernel.org/stable/c/45f9a2fe737dc0a5df270787f2231aee8985cd59 commit
- git.kernel.org/stable/c/5ef23506695b01d5d56a13a092a97f2478069d75 commit
- git.kernel.org/stable/c/b972eff874637402ddc4a7dd11fb22538a0b6d28 commit
- git.kernel.org/stable/c/ca6bc277430d90375452b60b047763a090b7673e commit
- git.kernel.org/stable/c/032e288097a553db5653af552dd8035cd2a0ba96 commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2021-47267 updated cvss 5.5
kernel: usb: fix various gadget panics on 10gbps cabling
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.68% chance of exploitation in the next 30 days, higher than 52% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 6.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L |
| CNA | 3.1 | 6.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L |
Affected products
- Linux Linux
Classification
- Weakness
-
- CWE-476 NULL Pointer Dereference
- Technology feeds
References
-
git.kernel.org
/stable/c/fd24be23abf3e94260be0f00bb42c7e91d495f87
patch
-
git.kernel.org
/stable/c/70cd19cb5bd94bbb5bacfc9c1e4ee0071699a604
patch
-
git.kernel.org
/stable/c/45f9a2fe737dc0a5df270787f2231aee8985cd59
patch
-
git.kernel.org
/stable/c/5ef23506695b01d5d56a13a092a97f2478069d75
patch
-
git.kernel.org
/stable/c/b972eff874637402ddc4a7dd11fb22538a0b6d28
patch
-
git.kernel.org
/stable/c/ca6bc277430d90375452b60b047763a090b7673e
patch
-
git.kernel.org
/stable/c/032e288097a553db5653af552dd8035cd2a0ba96
patch
Sources
- CVE List CVE-2021-47267
- NVD CVE-2021-47267
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.