CVE-2021-47110 x86/kvm: Disable kvmclock on all CPUs on shutdown

High 7.1 Published Updated

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.

All Linux kernel vulnerabilities

Sources

Also known as DEBIAN-CVE-2021-47110, GHSA-hx76-chvw-qr8x, UBUNTU-CVE-2021-47110.

Is CVE-2021-47110 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free