CVE-2021-47386·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: hwmon: (w83791d) Fix NULL pointer dereference by removing unnecessary structure field If driver read val value sufficient for (val & 0x08) && (!(val & 0x80)) && ((val & 0x7) == ((val >> 4) & 0x7)) from device then Null pointer dereference occurs. (It is possible if tmp = 0b0xyz1xyz, where same literals mean same numbers) Also lm75[] does not serve a purpose anymore after switching to devm_i2c_new_dummy_device() in w83791d_detect_subclients(). The patch fixes possible NULL pointer dereference by removing lm75[]. Found by Linux Driver Verification project (linuxtesting.org). [groeck: Dropped unnecessary continuation lines, fixed multi-line alignment]
- Severity
- high
- Software
- Kernel
- Fixed in
- 5.14.10
- 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.1% — higher than 2% 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.
Read the two together. CVE-2021-47386 scores 7.8 on CVSS, so a successful attack would be serious — but at <0.1%, almost nobody is currently attempting it. That is a different situation from a flaw under mass exploitation, and it is usually the difference between patching on your next maintenance window and patching tonight.
Affected versions
From: 5.11
Until: 5.14.10
Fixed in: 5.14.10
How to fix this CVE
Update your Linux kernel to version 5.14.10 or later to resolve a NULL pointer dereference vulnerability in the w83791d hwmon driver. This issue occurs when the driver reads specific register values that trigger an unsafe condition, causing a kernel crash. Apply the kernel update through your distribution's package manager and reboot your system.
sudo dnf update kernel && sudo rebootDefensia detects this vulnerability
How to check if you are affected
- Run 'uname -r' to check your current kernel version—if it shows 5.11.x through 5.14.9, your system is vulnerable
- Check if the w83791d driver is loaded by running 'lsmod | grep w83791d'—if output appears, the vulnerable component is present
- Search kernel logs for NULL pointer dereference errors using 'sudo dmesg | grep -i "null pointer\|w83791d\|oops"'
- After applying the patch, verify the kernel version with 'uname -r' to confirm it is 5.14.10 or later
FAQ
What is CVE-2021-47386?
This vulnerability is a NULL pointer dereference flaw in the w83791d hardware monitoring driver that occurs when specific bit patterns are read from the device, allowing local privilege escalation or denial of service through kernel panic.
Is CVE-2021-47386 being actively exploited?
No, this vulnerability is not listed in the CISA KEV catalog and no public exploits are available, though it remains a high-severity local attack vector.
What versions of Kernel are affected by CVE-2021-47386?
Linux kernel versions 5.11.0 through 5.14.9 are affected; version 5.14.10 and later contain the fix.
How do I check if my server is vulnerable to CVE-2021-47386?
Execute 'uname -r' and verify the output is not in the 5.11–5.14.9 range; additionally run 'lsmod | grep w83791d' to confirm if the vulnerable driver is in use.
Does Defensia detect CVE-2021-47386?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2021-47386 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/16887ae4e3defd2c4e7913b6c539f33eaf4eac5c
- https://git.kernel.org/stable/c/44d3c480e4e2a75bf6296a18b4356157991ccd80
- https://git.kernel.org/stable/c/516d9055039017a20a698103be2b556b4c976bb8
- https://git.kernel.org/stable/c/943c15ac1b84d378da26bba41c83c67e16499ac4
- https://git.kernel.org/stable/c/16887ae4e3defd2c4e7913b6c539f33eaf4eac5c
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2021-47386. Free for 1 server.
Get started free