CVE-2021-47446·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: drm/msm/a4xx: fix error handling in a4xx_gpu_init() This code returns 1 on error instead of a negative error. It leads to an Oops in the caller. A second problem is that the check for "if (ret != -ENODATA)" cannot be true because "ret" is set to 1.
- Severity
- medium
- Software
- Kernel
- Fixed in
- 5.14.14
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at 0.21% — higher than 11% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
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 error handling flaw in the Adreno A4xx GPU initialization code. The vulnerability causes the driver to return an incorrect error code (1 instead of a negative errno), which can trigger kernel panics when GPU initialization fails. Apply the patch immediately, especially if you're running kernel versions 5.11 through 5.14.13 on systems with Adreno A4xx graphics hardware.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check your kernel version: uname -r — look for versions 5.11.x through 5.14.13
- Verify if Adreno A4xx GPU is present: grep -i 'adreno\|a4xx' /proc/cpuinfo or lspci | grep -i adreno
- Search kernel logs for GPU initialization failures: journalctl -b | grep -i 'a4xx\|msm.*gpu\|gpu.*init' or dmesg | grep -i 'a4xx'
- Confirm the patch is applied by checking if kernel version is 5.14.14+: uname -r | grep -E '5\.(14\.1[4-9]|1[5-9]|[2-9][0-9])'
- Monitor for kernel Oops related to drm/msm: dmesg | grep -i 'oops\|segfault' followed by GPU driver initialization traces
FAQ
What is CVE-2021-47446?
This vulnerability affects the Linux kernel's Adreno A4xx GPU driver (drm/msm). The initialization routine incorrectly returns a positive error code (1) instead of a negative errno value, and it fails to properly evaluate error conditions, causing kernel crashes when GPU setup encounters errors.
Is CVE-2021-47446 being actively exploited?
No, this vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog and no public exploits are available. However, it can be triggered reliably through GPU initialization failures.
What versions of Kernel are affected by CVE-2021-47446?
Kernel versions 5.11 through 5.14.13 are vulnerable. The fix was included in kernel 5.14.14 and all subsequent stable releases.
How do I check if my server is vulnerable to CVE-2021-47446?
Run 'uname -r' to check your kernel version—if it shows 5.11.x through 5.14.13 and contains 'msm' or Adreno GPU support, verify with 'grep -i a4xx /proc/cpuinfo' to confirm the affected hardware is present.
Does Defensia detect CVE-2021-47446?
Yes — Defensia's CVE advisory scanner compares installed kernel package versions against the NVD database. If a vulnerable kernel is detected on a monitored server, CVE-2021-47446 will appear in your dashboard with remediation steps specific to your distribution.
Related Kernel CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2021-47446. Free for 1 server.
Get started free