CVE-2021-47269

usb: dwc3: ep0: fix NULL pointer exception

MEDIUM
5.5
CVSS Score
Published: May 21, 2024 at 02:19 PM UTC
Updated: June 17, 2026 at 04:17 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.3%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: ep0: fix NULL pointer exception There is no validation of the index from dwc3_wIndex_to_dep() and we might be referring a non-existing ep and trigger a NULL pointer exception. In certain configurations we might use fewer eps and the index might wrongly indicate a larger ep index than existing. By adding this validation from the patch we can actually report a wrong index back to the caller. In our usecase we are using a composite device on an older kernel, but upstream might use this fix also. Unfortunately, I cannot describe the hardware for others to reproduce the issue as it is a proprietary implementation. [ 82.958261] Unable to handle kernel NULL pointer dereference at virtual address 00000000000000a4 [ 82.966891] Mem abort info: [ 82.969663] ESR = 0x96000006 [ 82.972703] Exception class = DABT (current EL), IL = 32 bits [ 82.978603] SET = 0, FnV = 0 [ 82.981642] EA = 0, S1PTW = 0 [ 82.984765] Data abort info: [ 82.987631] ISV = 0, ISS = 0x00000006 [ 82.991449] CM = 0, WnR = 0 [ 82.994409] user pgtable: 4k pages, 39-bit VAs, pgdp = 00000000c6210ccc [ 83.000999] [00000000000000a4] pgd=0000000053aa5003, pud=0000000053aa5003, pmd=0000000000000000 [ 83.009685] Internal error: Oops: 96000006 [#1] PREEMPT SMP [ 83.026433] Process irq/62-dwc3 (pid: 303, stack limit = 0x000000003985154c) [ 83.033470] CPU: 0 PID: 303 Comm: irq/62-dwc3 Not tainted 4.19.124 #1 [ 83.044836] pstate: 60000085 (nZCv daIf -PAN -UAO) [ 83.049628] pc : dwc3_ep0_handle_feature+0x414/0x43c [ 83.054558] lr : dwc3_ep0_interrupt+0x3b4/0xc94 ... [ 83.141788] Call trace: [ 83.144227] dwc3_ep0_handle_feature+0x414/0x43c [ 83.148823] dwc3_ep0_interrupt+0x3b4/0xc94 [ 83.181546] ---[ end trace aac6b5267d84c32f ]---

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v < 4.4.2733.10 ≤ v < 4.14.2373.10 ≤ v < 4.19.1953.10 ≤ v < 4.4.2733.10 ≤ v < 4.9.2733.10 ≤ v < 5.10.443.10 ≤ v < 5.12.113.10 ≤ v < 5.133.10 ≤ v < 5.4.1264.10 ≤ v < 4.14.2374.15 ≤ v < 4.19.1954.20 ≤ v < 5.4.1264.5 ≤ v < 4.9.2735.11 ≤ v < 5.12.115.5 ≤ v < 5.10.445.13 rc15.13 rc25.13 rc35.13 rc45.13 rc56a1e3ef45fb0c4d79cbb5190c8fc59263c630b0e
Vendor states this is fixed in 366369b89bedd59b1425386e8d4a18a466e420e4 (fixed)
Vendor states this is fixed in 470403639114895e2697c766fbe17be8d0e9b67a (fixed)
Vendor states this is fixed in 60156089f07e724e4dc8483702d5e1ede4522749 (fixed)
Vendor states this is fixed in 788755756dd4a6aba1de479fec20b0fa600e7f19 (fixed)
Vendor states this is fixed in 96b74a99d360235c24052f1d060e64ac53f43528 (fixed)
Vendor states this is fixed in 990dc90750772622d44ca2ea6652c521e6f67e16 (fixed)
Vendor states this is fixed in bd551e7c85939de2182010273450bfa78c3742fc (fixed)
Vendor states this is fixed in d00889080ab60051627dab1d85831cd9db750e2a (fixed)
Vendor states this is fixed in 3.10 (unaffected)
Vendor states this is fixed in 4.14.237 (unaffected)
Vendor states this is fixed in 4.19.195 (unaffected)
Vendor states this is fixed in 4.4.273 (unaffected)
Vendor states this is fixed in 4.9.273 (unaffected)
Vendor states this is fixed in 5.10.44 (unaffected)
Vendor states this is fixed in 5.12.11 (unaffected)
Vendor states this is fixed in 5.13 (unaffected)
Vendor states this is fixed in 5.4.126 (unaffected)

References (8)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/366369b89bedd59b1425386e8d4a18a466e420e4
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/470403639114895e2697c766fbe17be8d0e9b67a
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/60156089f07e724e4dc8483702d5e1ede4522749
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/788755756dd4a6aba1de479fec20b0fa600e7f19
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/96b74a99d360235c24052f1d060e64ac53f43528
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/990dc90750772622d44ca2ea6652c521e6f67e16
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/bd551e7c85939de2182010273450bfa78c3742fc
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/d00889080ab60051627dab1d85831cd9db750e2a

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-476

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card