CVE-2021-47110·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: x86/kvm: Disable kvmclock on all CPUs on shutdown Currenly, we disable kvmclock from machine_shutdown() hook and this only happens for boot CPU. We need to disable it for all CPUs to guard against memory corruption e.g. on restore from hibernate. Note, writing '0' to kvmclock MSR doesn't clear memory location, it just prevents hypervisor from updating the location so for the short while after write and while CPU is still alive, the clock remains usable and correct so we don't need to switch to some other clocksource.
- Severity
- high
- Software
- Kernel
- Fixed in
- 5.12.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 4% 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-47110 scores 7.1 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.12.10
Fixed in: 5.12.10
How to fix this CVE
Update your Linux kernel to version 5.12.10 or later to resolve CVE-2021-47110, which addresses improper kvmclock shutdown handling across multi-CPU systems. This vulnerability can lead to memory corruption during hibernation or system restore operations when kvmclock is not disabled on all processor cores. Kernel updates should be followed by a system reboot to activate the patched code.
sudo dnf update kernel && sudo rebootDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check your current kernel version by running `uname -r` and verify if it falls within the vulnerable range (5.11.0 to 5.12.9)
- Step 2: Confirm KVM/kvmclock usage by checking if `/sys/kernel/debug/kvm` exists or if `grep kvmclock /proc/cmdline` returns output
- Step 3: Review system logs for memory corruption errors using `dmesg | grep -i 'memory\|corruption\|kvmclock'` or `journalctl -b | grep -i 'memory\|corruption'`
- Step 4: After applying the patch, verify the new kernel version with `uname -r` and confirm it is 5.12.10 or later
FAQ
What is CVE-2021-47110?
CVE-2021-47110 is a kernel vulnerability where the kvmclock (KVM virtual machine clock) mechanism was not properly disabled on all CPU cores during system shutdown, potentially causing memory corruption when systems resume from hibernation or are restored from snapshots.
Is CVE-2021-47110 being actively exploited?
No, CVE-2021-47110 is not listed as actively exploited in the CISA Known Exploited Vulnerabilities catalog, and no public exploits are currently available.
What versions of Kernel are affected by CVE-2021-47110?
Linux kernel versions 5.11.0 through 5.12.9 are vulnerable; version 5.12.10 and later contain the fix.
How do I check if my server is vulnerable to CVE-2021-47110?
Run `uname -r` to display your kernel version. If the output shows a version between 5.11.0 and 5.12.9 (inclusive) and your system uses KVM virtualization, you are vulnerable and should update immediately.
Does Defensia detect CVE-2021-47110?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2021-47110 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/1df2dc09926f61319116c80ee85701df33577d70
- https://git.kernel.org/stable/c/3b0becf8b1ecf642a9edaf4c9628ffc641e490d6
- https://git.kernel.org/stable/c/9084fe1b3572664ad276f427dce575f580c9799a
- https://git.kernel.org/stable/c/c02027b5742b5aa804ef08a4a9db433295533046
- https://git.kernel.org/stable/c/1df2dc09926f61319116c80ee85701df33577d70
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2021-47110. Free for 1 server.
Get started free