CVE-2021-47110 x86/kvm: Disable kvmclock on all CPUs on shutdown
A flaw in the Linux kernel's KVM clock handling during shutdown could lead to memory corruption, potentially allowing attackers to execute code or escalate privileges.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2021-47110?
CVE-2021-47110 is a high-severity memory corruption vulnerability in Linux kernel, published on 15 Mar 2024. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
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.
Weakness: CWE-459
Which versions are affected by CVE-2021-47110?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2021-47110?
Apply the vendor's patch.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2021-47110 being exploited?
There is no known exploitation of CVE-2021-47110 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as DEBIAN-CVE-2021-47110, GHSA-hx76-chvw-qr8x, UBUNTU-CVE-2021-47110.