CVE-2021-47407·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Handle SRCU initialization failure during page track init Check the return of init_srcu_struct(), which can fail due to OOM, when initializing the page track mechanism. Lack of checking leads to a NULL pointer deref found by a modified syzkaller. [Move the call towards the beginning of kvm_arch_init_vm. - Paolo]
- Severity
- medium
- Software
- Kernel
- Fixed in
- 5.14.10
- Published
- 2024-05-21
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 this vulnerability. The fix ensures proper error handling during KVM page track initialization, preventing potential system crashes caused by uninitialized SRCU structures. Systems running kernel versions 5.11 through 5.14.9 should prioritize this update to maintain stability in virtualized environments.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check kernel version: uname -r (vulnerable if output shows 5.11.x through 5.14.9)
- Verify KVM module is loaded: lsmod | grep kvm (if loaded, the vulnerable code path is present)
- Check for SRCU-related failures in kernel logs: sudo journalctl -k | grep -i 'srcu\|page.*track' to identify initialization errors
- Confirm patched version: uname -r should show 5.14.10 or later after applying the update
FAQ
What is CVE-2021-47407?
This vulnerability exists in the Linux kernel's KVM (Kernel Virtual Machine) subsystem where the SRCU (Sleepable Read-Copy-Update) synchronization mechanism initialization fails silently, leading to NULL pointer dereferences during page track mechanism setup.
Is CVE-2021-47407 being actively exploited?
No, this vulnerability is not listed on the CISA Known Exploited Vulnerabilities (KEV) catalog and has no public exploits available. Exploitation requires local access and involves triggering specific KVM initialization failure conditions.
What versions of Kernel are affected by CVE-2021-47407?
Linux kernel versions from 5.11 through 5.14.9 are vulnerable. The fix is included in kernel 5.14.10 and all subsequent releases.
How do I check if my server is vulnerable to CVE-2021-47407?
Run uname -r and verify the kernel version. If it shows any version from 5.11.x through 5.14.9, your system is vulnerable. Also check if KVM is enabled with lsmod | grep kvm.
Does Defensia detect CVE-2021-47407?
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-47407 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/4664318f73e496cd22c71b10888e75434a123e23
- https://git.kernel.org/stable/c/deb2949417677649e2413266d7ce8c2ff73952b4
- https://git.kernel.org/stable/c/eb7511bf9182292ef1df1082d23039e856d1ddfb
- https://git.kernel.org/stable/c/4664318f73e496cd22c71b10888e75434a123e23
- https://git.kernel.org/stable/c/deb2949417677649e2413266d7ce8c2ff73952b4
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2021-47407. Free for 1 server.
Get started free