CVE-2021-47269·Kernel vulnerability
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 ]---
- Severity
- medium
- Software
- Kernel
- Fixed in
- 5.12.11
- Published
- 2024-05-21
Affected versions
From: 5.11
Until: 5.12.11
Fixed in: 5.12.11
How to fix this CVE
Update your Linux kernel to version 5.12.11 or later to patch the NULL pointer dereference in the USB DWC3 endpoint 0 handler. This vulnerability occurs when the kernel processes USB feature requests on devices with fewer endpoints than expected, causing a kernel crash. Apply the security update through your distribution's package manager and reboot the system to ensure the patched kernel is active.
sudo dnf update kernel kernel-devel && sudo rebootDefensia detects this vulnerability
How to check if you are affected
- Check installed kernel version: uname -r
- Verify if running kernel is between 5.11 and 5.12.10: if [[ $(uname -r | cut -d. -f1,2) == '5.11' ]] || [[ $(uname -r | cut -d. -f1,2) == '5.12' && $(uname -r | cut -d. -f3) -lt 11 ]]; then echo 'Vulnerable'; fi
- Check system logs for NULL pointer dereference in dwc3_ep0: sudo dmesg | grep -i 'dwc3_ep0\|null pointer'
- Confirm patch applied after update: uname -r should show 5.12.11 or higher
FAQ
What is CVE-2021-47269?
CVE-2021-47269 is a NULL pointer dereference vulnerability in the Linux kernel's USB DWC3 (DesignWare Core 3) endpoint 0 handler that occurs when processing feature requests on composite USB devices with limited endpoint configurations, leading to kernel panic and denial of service.
Is CVE-2021-47269 being actively exploited?
No, CVE-2021-47269 is not listed on the CISA Known Exploited Vulnerabilities (KEV) catalog and no public exploits are currently available, though local exploitation is theoretically possible on systems with specific hardware configurations.
What versions of Kernel are affected by CVE-2021-47269?
Linux kernel versions 5.11 through 5.12.10 are affected; versions 5.12.11 and later contain the fix.
How do I check if my server is vulnerable to CVE-2021-47269?
Run 'uname -r' to check your kernel version; if it shows 5.11.x or 5.12.0 through 5.12.10, your system is vulnerable. Affected systems typically use composite USB devices and may show dwc3 errors in dmesg.
Does Defensia detect CVE-2021-47269?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Linux kernel is installed on a monitored server, CVE-2021-47269 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/366369b89bedd59b1425386e8d4a18a466e420e4
- https://git.kernel.org/stable/c/470403639114895e2697c766fbe17be8d0e9b67a
- https://git.kernel.org/stable/c/60156089f07e724e4dc8483702d5e1ede4522749
- https://git.kernel.org/stable/c/788755756dd4a6aba1de479fec20b0fa600e7f19
- https://git.kernel.org/stable/c/96b74a99d360235c24052f1d060e64ac53f43528
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2021-47269. Free for 1 server.
Get started free