CVE-2021-47434·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: xhci: Fix command ring pointer corruption while aborting a command The command ring pointer is located at [6:63] bits of the command ring control register (CRCR). All the control bits like command stop, abort are located at [0:3] bits. While aborting a command, we read the CRCR and set the abort bit and write to the CRCR. The read will always give command ring pointer as all zeros. So we essentially write only the control bits. Since we split the 64 bit write into two 32 bit writes, there is a possibility of xHC command ring stopped before the upper dword (all zeros) is written. If that happens, xHC updates the upper dword of its internal command ring pointer with all zeros. Next time, when the command ring is restarted, we see xHC memory access failures. Fix this issue by only writing to the lower dword of CRCR where all control bits are located.
- Severity
- medium
- Software
- Kernel
- Fixed in
- 5.14.14
- Published
- 2024-05-22
Affected versions
From: 5.11
Until: 5.14.14
Fixed in: 5.14.14
How to fix this CVE
Update your Linux kernel to version 5.14.14 or later to resolve this xHCI command ring corruption issue. The vulnerability affects kernels from 5.11 through 5.14.13, where improper handling of 64-bit writes to the command ring control register can corrupt the command ring pointer and cause memory access failures. Apply the kernel update through your distribution's package manager and reboot your system.
sudo dnf update kernel kernel-devel && sudo rebootDefensia detects this vulnerability
How to check if you are affected
- Run 'uname -r' to check your current kernel version; vulnerable versions range from 5.11.x to 5.14.13
- Verify xHCI controller is present via 'lspci | grep -i xhci' to confirm the affected hardware component is in use
- Review system logs with 'journalctl -xe | grep -i xhci' or 'dmesg | grep -i xhci' for xHCI memory access errors or controller timeout messages
- After applying the update, confirm the new kernel version with 'uname -r' shows 5.14.14 or later
FAQ
What is CVE-2021-47434?
This vulnerability exists in the Linux kernel's xHCI (USB 3.0) host controller driver, where improper command ring pointer handling during abort operations causes the upper 32 bits of the pointer to be corrupted, leading to subsequent memory access failures and system instability.
Is CVE-2021-47434 being actively exploited?
No, this CVE is not actively exploited in the wild and does not appear on the CISA Known Exploited Vulnerabilities catalog. No public exploits are available.
What versions of Kernel are affected by CVE-2021-47434?
Linux kernel versions 5.11.0 through 5.14.13 are affected. Version 5.14.14 and later contain the fix.
How do I check if my server is vulnerable to CVE-2021-47434?
Run 'uname -r' and check if the output shows a version between 5.11 and 5.14.13. If so, your system is vulnerable and requires a kernel update.
Does Defensia detect CVE-2021-47434?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2021-47434 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/01c2dcb67e71c351006dd17cbba86c26b7f61eaf
- https://git.kernel.org/stable/c/22bcb65ea41072ab5d03c0c6290e04e0df6d09a0
- https://git.kernel.org/stable/c/62c182b5e763e5f4062e72678e72ce3e02dd4d1b
- https://git.kernel.org/stable/c/dec944bb7079b37968cf69c8a438f91f15c4cc61
- https://git.kernel.org/stable/c/e54abefe703ab7c4e5983e889babd1447738ca42
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2021-47434. Free for 1 server.
Get started free