CVE-2021-47110
📋 TL;DR
A memory corruption vulnerability in the Linux kernel's KVM subsystem where kvmclock is not properly disabled on all CPUs during system shutdown. This could allow attackers to corrupt memory, potentially leading to system instability or privilege escalation. Affects systems running Linux with KVM virtualization enabled.
💻 Affected Systems
- Linux kernel with KVM virtualization
📦 What is this software?
Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →⚠️ Risk & Real-World Impact
Worst Case
Memory corruption leading to system crash, privilege escalation, or arbitrary code execution in kernel context
Likely Case
System instability, crashes during shutdown/hibernation, or denial of service
If Mitigated
Minimal impact with proper patching and isolation of virtualization hosts
🎯 Exploit Status
Exploitation requires local access to trigger during system shutdown or hibernate operations
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Linux kernel with commits 1df2dc09926f61319116c80ee85701df33577d70 or later
Vendor Advisory: https://git.kernel.org/stable/c/1df2dc09926f61319116c80ee85701df33577d70
Restart Required: Yes
Instructions:
1. Update Linux kernel to version containing the fix commits
2. Check distribution-specific security advisories
3. Reboot system after kernel update
🔧 Temporary Workarounds
Disable kvmclock
linuxUse alternative clocksource instead of kvmclock
Add 'clocksource=tsc' or 'clocksource=hpet' to kernel boot parameters
🧯 If You Can't Patch
- Isolate virtualization hosts from untrusted users
- Avoid using hibernate/suspend features on affected systems
🔍 How to Verify
Check if Vulnerable:
Check kernel version and verify if kvmclock is in use: 'cat /sys/devices/system/clocksource/clocksource0/current_clocksource'
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version contains the fix commits and kvmclock is properly disabled on all CPUs during shutdown
📡 Detection & Monitoring
Log Indicators:
- Kernel panic during shutdown/hibernation
- Memory corruption errors in kernel logs
Network Indicators:
- None - local vulnerability only
SIEM Query:
Search for kernel panic events or memory corruption errors during system shutdown operations
🔗 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
- https://git.kernel.org/stable/c/3b0becf8b1ecf642a9edaf4c9628ffc641e490d6
- https://git.kernel.org/stable/c/9084fe1b3572664ad276f427dce575f580c9799a
- https://git.kernel.org/stable/c/c02027b5742b5aa804ef08a4a9db433295533046