CVE-2021-47269: usb: dwc3: ep0: fix NULL pointer exception

Published May 21, 2024
·
Updated

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 dwc3wIndextodep() 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 : dwc3ep0handlefeature+0x414/0x43c [ 83.054558] lr : dwc3ep0interrupt+0x3b4/0xc94

...

[ 83.141788] Call trace: [ 83.144227] dwc3ep0handlefeature+0x414/0x43c [ 83.148823] dwc3ep0interrupt+0x3b4/0xc94 [ 83.181546] ---[ end trace aac6b5267d84c32f ]---

Affected Software

130 affected componentsFixes available
Linux Linux kernel<4.4.273
Linux Linux kernel>=4.5<4.9.273
Linux Linux kernel>=4.10<4.14.237
Linux Linux kernel>=4.15<4.19.195
Linux Linux kernel>=4.20<5.4.126
Linux Linux kernel>=5.5<5.10.44
Linux Linux kernel>=5.11<5.12.11
Linux Linux kernel=5.13-rc1
Linux Linux kernel=5.13-rc2
Linux Linux kernel=5.13-rc3
Linux Linux kernel=5.13-rc4
Linux Linux kernel=5.13-rc5
ubuntu/linux-azure<4.15.0-1123.136~14.04.1
4.15.0-1123.136~14.04.1
ubuntu/linux*
ubuntu/linux-aws<4.4.0-1150.156
4.4.0-1150.156
ubuntu/linux-lts-xenial<4.4.0-276.310~14.04.1
4.4.0-276.310~14.04.1
ubuntu/linux<4.4.0-276.310
4.4.0-276.310
ubuntu/linux-aws<4.4.0-1188.203
4.4.0-1188.203
ubuntu/linux-aws-hwe<4.15.0-1111.118~16.04.1
4.15.0-1111.118~16.04.1
ubuntu/linux-azure<4.15.0-1123.136~16.04.1
4.15.0-1123.136~16.04.1
ubuntu/linux-gcp<4.15.0-1108.122~16.04.1
4.15.0-1108.122~16.04.1
ubuntu/linux-hwe<4.15.0-156.163~16.04.1
4.15.0-156.163~16.04.1
ubuntu/linux-kvm<4.4.0-1151.162
4.4.0-1151.162
ubuntu/linux-oracle<4.15.0-1080.88~16.04.1
4.15.0-1080.88~16.04.1
ubuntu/linux-hwe-edge*
ubuntu/linux-fips<4.4.0-1120.127
4.4.0-1120.127
ubuntu/linux-fips*
ubuntu/linux<4.15.0-156.163
4.15.0-156.163
ubuntu/linux-aws<4.15.0-1111.118
4.15.0-1111.118
ubuntu/linux-aws-5.4<5.4.0-1055.58~18.04.1
5.4.0-1055.58~18.04.1
ubuntu/linux-azure-4.15<4.15.0-1123.136
4.15.0-1123.136
ubuntu/linux-azure-5.4<5.4.0-1056.58~18.04.1
5.4.0-1056.58~18.04.1
ubuntu/linux-gcp-4.15<4.15.0-1108.122
4.15.0-1108.122
ubuntu/linux-gcp-5.4<5.4.0-1051.55~18.04.1
5.4.0-1051.55~18.04.1
ubuntu/linux-hwe-5.4<5.4.0-81.91~18.04.1
5.4.0-81.91~18.04.1
ubuntu/linux-kvm<4.15.0-1099.101
4.15.0-1099.101
ubuntu/linux-oracle<4.15.0-1080.88
4.15.0-1080.88
ubuntu/linux-oracle-5.4<5.4.0-1053.57~18.04.1
5.4.0-1053.57~18.04.1
ubuntu/linux-raspi-5.4<5.4.0-1042.46~18.04.3
5.4.0-1042.46~18.04.3
ubuntu/linux-aws-5.0*
ubuntu/linux-aws-5.3*
ubuntu/linux-azure*
ubuntu/linux-azure-5.3*
ubuntu/linux-azure-edge*
ubuntu/linux-gcp*
ubuntu/linux-gcp-5.3*
ubuntu/linux-gke-4.15*
ubuntu/linux-gke-5.4*
ubuntu/linux-gkeop-5.4*
ubuntu/linux-hwe*
ubuntu/linux-hwe-edge*
ubuntu/linux-oem*
ubuntu/linux-oracle-5.0*
ubuntu/linux-oracle-5.3*
ubuntu/linux-aws-fips<4.15.0-2053.55
4.15.0-2053.55
ubuntu/linux-azure-fips<4.15.0-2035.39
4.15.0-2035.39
ubuntu/linux-fips<4.15.0-1069.78
4.15.0-1069.78
ubuntu/linux-gcp-fips<4.15.0-2018.20
4.15.0-2018.20
ubuntu/linux-aws-fips*
ubuntu/linux-azure-fips*
ubuntu/linux-fips*
ubuntu/linux-gcp-fips*
ubuntu/linux<5.4.0-81.91
5.4.0-81.91
ubuntu/linux-aws<5.4.0-1055.58
5.4.0-1055.58
ubuntu/linux-azure<5.4.0-1056.58
5.4.0-1056.58
ubuntu/linux-bluefield<5.4.0-1019.22
5.4.0-1019.22
ubuntu/linux-gcp<5.4.0-1051.55
5.4.0-1051.55
ubuntu/linux-gkeop<5.4.0-1022.23
5.4.0-1022.23
ubuntu/linux-kvm<5.4.0-1045.47
5.4.0-1045.47
ubuntu/linux-oracle<5.4.0-1053.57
5.4.0-1053.57
ubuntu/linux-raspi<5.4.0-1042.46
5.4.0-1042.46
ubuntu/linux-aws-5.11*
ubuntu/linux-aws-5.13*
ubuntu/linux-aws-5.8*
ubuntu/linux-azure-5.11*
ubuntu/linux-azure-5.13*
ubuntu/linux-azure-5.8*
ubuntu/linux-azure-fde*
ubuntu/linux-gcp-5.11*
ubuntu/linux-gcp-5.13*
ubuntu/linux-gcp-5.8*
ubuntu/linux-gke*
ubuntu/linux-gke-5.15*
ubuntu/linux-hwe-5.11*
ubuntu/linux-hwe-5.13*
ubuntu/linux-hwe-5.8*
ubuntu/linux-intel-5.13*
ubuntu/linux-oem-5.10*
ubuntu/linux-oem-5.13*
ubuntu/linux-oem-5.6*
ubuntu/linux-oracle-5.11*
ubuntu/linux-oracle-5.13*
ubuntu/linux-oracle-5.8*
ubuntu/linux-raspi2*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.11*
ubuntu/linux-riscv-5.8*
ubuntu/linux-aws-fips<5.4.0-1069.73+fips2
5.4.0-1069.73+fips2
ubuntu/linux-azure-fips<5.4.0-1073.76+fips1
5.4.0-1073.76+fips1
ubuntu/linux-fips<5.4.0-1032.37
5.4.0-1032.37
ubuntu/linux-gcp-fips<5.4.0-1067.71~20.04.1
5.4.0-1067.71~20.04.1
ubuntu/linux-aws-fips*
ubuntu/linux-azure-fips*
ubuntu/linux-fips*
ubuntu/linux-gcp-fips*
ubuntu/linux-allwinner-5.19*
ubuntu/linux-aws-5.19*
ubuntu/linux-aws-6.2*
ubuntu/linux-azure-5.19*
ubuntu/linux-azure-6.2*
ubuntu/linux-azure-fde-5.19*
ubuntu/linux-azure-fde-6.2*
ubuntu/linux-gcp-5.19*
ubuntu/linux-gcp-6.2*
ubuntu/linux-hwe-5.19*
ubuntu/linux-hwe-6.2*
ubuntu/linux-intel-iot-realtime*
ubuntu/linux-lowlatency-hwe-5.19*
ubuntu/linux-lowlatency-hwe-6.2*
ubuntu/linux-nvidia-6.2*
ubuntu/linux-oem-5.17*
ubuntu/linux-oem-6.0*
ubuntu/linux-oem-6.1*
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.19*
ubuntu/linux-starfive-5.19*
ubuntu/linux-starfive-6.2*
ubuntu/linux-raspi-realtime*
ubuntu/linux-vmware*

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade ubuntu/linux-azure to a version that resolves this vulnerability.

    Fixed in 4.15.0-1123.136~14.04.1
  2. Upgrade

    Upgrade ubuntu/linux-aws to a version that resolves this vulnerability.

    Fixed in 4.4.0-1150.156
  3. Upgrade

    Upgrade ubuntu/linux-lts-xenial to a version that resolves this vulnerability.

    Fixed in 4.4.0-276.310~14.04.1
  4. Upgrade

    Upgrade ubuntu/linux to a version that resolves this vulnerability.

    Fixed in 4.4.0-276.310
  5. Upgrade

    Upgrade ubuntu/linux-aws to a version that resolves this vulnerability.

    Fixed in 4.4.0-1188.203
  6. Upgrade

    Upgrade ubuntu/linux-aws-hwe to a version that resolves this vulnerability.

    Fixed in 4.15.0-1111.118~16.04.1
  7. Upgrade

    Upgrade ubuntu/linux-azure to a version that resolves this vulnerability.

    Fixed in 4.15.0-1123.136~16.04.1
  8. Upgrade

    Upgrade ubuntu/linux-gcp to a version that resolves this vulnerability.

    Fixed in 4.15.0-1108.122~16.04.1
  9. Upgrade

    Upgrade ubuntu/linux-hwe to a version that resolves this vulnerability.

    Fixed in 4.15.0-156.163~16.04.1
  10. Upgrade

    Upgrade ubuntu/linux-kvm to a version that resolves this vulnerability.

    Fixed in 4.4.0-1151.162
  11. Upgrade

    Upgrade ubuntu/linux-oracle to a version that resolves this vulnerability.

    Fixed in 4.15.0-1080.88~16.04.1
  12. Upgrade

    Upgrade ubuntu/linux-fips to a version that resolves this vulnerability.

    Fixed in 4.4.0-1120.127
  13. Upgrade

    Upgrade ubuntu/linux to a version that resolves this vulnerability.

    Fixed in 4.15.0-156.163
  14. Upgrade

    Upgrade ubuntu/linux-aws to a version that resolves this vulnerability.

    Fixed in 4.15.0-1111.118
  15. Upgrade

    Upgrade ubuntu/linux-aws-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1055.58~18.04.1
  16. Upgrade

    Upgrade ubuntu/linux-azure-4.15 to a version that resolves this vulnerability.

    Fixed in 4.15.0-1123.136
  17. Upgrade

    Upgrade ubuntu/linux-azure-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1056.58~18.04.1
  18. Upgrade

    Upgrade ubuntu/linux-gcp-4.15 to a version that resolves this vulnerability.

    Fixed in 4.15.0-1108.122
  19. Upgrade

    Upgrade ubuntu/linux-gcp-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1051.55~18.04.1
  20. Upgrade

    Upgrade ubuntu/linux-hwe-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-81.91~18.04.1
  21. Upgrade

    Upgrade ubuntu/linux-kvm to a version that resolves this vulnerability.

    Fixed in 4.15.0-1099.101
  22. Upgrade

    Upgrade ubuntu/linux-oracle to a version that resolves this vulnerability.

    Fixed in 4.15.0-1080.88
  23. Upgrade

    Upgrade ubuntu/linux-oracle-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1053.57~18.04.1
  24. Upgrade

    Upgrade ubuntu/linux-raspi-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1042.46~18.04.3
  25. Upgrade

    Upgrade ubuntu/linux-aws-fips to a version that resolves this vulnerability.

    Fixed in 4.15.0-2053.55
  26. Upgrade

    Upgrade ubuntu/linux-azure-fips to a version that resolves this vulnerability.

    Fixed in 4.15.0-2035.39
  27. Upgrade

    Upgrade ubuntu/linux-fips to a version that resolves this vulnerability.

    Fixed in 4.15.0-1069.78
  28. Upgrade

    Upgrade ubuntu/linux-gcp-fips to a version that resolves this vulnerability.

    Fixed in 4.15.0-2018.20
  29. Upgrade

    Upgrade ubuntu/linux to a version that resolves this vulnerability.

    Fixed in 5.4.0-81.91
  30. Upgrade

    Upgrade ubuntu/linux-aws to a version that resolves this vulnerability.

    Fixed in 5.4.0-1055.58
  31. Upgrade

    Upgrade ubuntu/linux-azure to a version that resolves this vulnerability.

    Fixed in 5.4.0-1056.58
  32. Upgrade

    Upgrade ubuntu/linux-bluefield to a version that resolves this vulnerability.

    Fixed in 5.4.0-1019.22
  33. Upgrade

    Upgrade ubuntu/linux-gcp to a version that resolves this vulnerability.

    Fixed in 5.4.0-1051.55
  34. Upgrade

    Upgrade ubuntu/linux-gkeop to a version that resolves this vulnerability.

    Fixed in 5.4.0-1022.23
  35. Upgrade

    Upgrade ubuntu/linux-kvm to a version that resolves this vulnerability.

    Fixed in 5.4.0-1045.47
  36. Upgrade

    Upgrade ubuntu/linux-oracle to a version that resolves this vulnerability.

    Fixed in 5.4.0-1053.57
  37. Upgrade

    Upgrade ubuntu/linux-raspi to a version that resolves this vulnerability.

    Fixed in 5.4.0-1042.46
  38. Upgrade

    Upgrade ubuntu/linux-aws-fips to a version that resolves this vulnerability.

    Fixed in 5.4.0-1069.73+fips2
  39. Upgrade

    Upgrade ubuntu/linux-azure-fips to a version that resolves this vulnerability.

    Fixed in 5.4.0-1073.76+fips1
  40. Upgrade

    Upgrade ubuntu/linux-fips to a version that resolves this vulnerability.

    Fixed in 5.4.0-1032.37
  41. Upgrade

    Upgrade ubuntu/linux-gcp-fips to a version that resolves this vulnerability.

    Fixed in 5.4.0-1067.71~20.04.1
  42. Compensating control

    Add validation of the endpoint index returned by dwc3_wIndex_to_dep() before referring to the endpoint; reject or report an index that exceeds the existing endpoint count to prevent a NULL pointer exception.

Event History

May 21, 2024
CVE Published
via MITRE·02:19 PM
Data Sourced
via MITRE·02:19 PM
Description
Data Sourced
via OSV·03:15 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2021-47269?

CVE-2021-47269 has a potential severity that could lead to system crashes due to a NULL pointer exception.

2

How do I fix CVE-2021-47269?

To fix CVE-2021-47269, update the Linux kernel to a version that contains the patch resolving this vulnerability.

3

Which versions of the Linux kernel are affected by CVE-2021-47269?

CVE-2021-47269 affects various versions of the Linux kernel from 4.4.273 up to 5.13-rc5, excluding patched versions.

4

What are the potential consequences of not addressing CVE-2021-47269?

Failing to address CVE-2021-47269 may lead to system instability and crashes, affecting overall system performance.

5

Is CVE-2021-47269 a remote exploitation risk?

CVE-2021-47269 does not appear to be an easy target for remote exploitation, as it primarily relates to NULL pointer dereferencing.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203