CVE-2024-50114
📋 TL;DR
This CVE describes a use-after-free vulnerability in the Linux kernel's KVM (Kernel-based Virtual Machine) subsystem for ARM64. When vCPU creation fails in specific error conditions, the kernel fails to properly unregister redistributor MMIO regions, leading to memory corruption when the VM is destroyed. This affects systems running Linux with KVM virtualization on ARM64 architecture.
💻 Affected Systems
- Linux kernel
📦 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 →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
Kernel crash leading to denial of service, potential privilege escalation to kernel mode, or VM escape allowing guest-to-host attacks.
Likely Case
Kernel panic or system crash causing denial of service, potentially requiring physical reboot.
If Mitigated
No impact if systems are patched or don't use KVM virtualization on ARM64.
🎯 Exploit Status
Requires ability to create/destroy VMs via KVM. Discovered through syzkaller fuzzing. No public exploits known.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Linux kernel with commit ae8f8b37610269009326f4318df161206c59843e
Vendor Advisory: https://git.kernel.org/stable/c/ae8f8b37610269009326f4318df161206c59843e
Restart Required: Yes
Instructions:
1. Update Linux kernel to version containing fix commit ae8f8b37610269009326f4318df161206c59843e. 2. Reboot system to load new kernel.
🔧 Temporary Workarounds
Disable KVM on ARM64
linuxDisable KVM virtualization support if not required
echo 'blacklist kvm' >> /etc/modprobe.d/blacklist.conf
echo 'blacklist kvm_arm' >> /etc/modprobe.d/blacklist.conf
🧯 If You Can't Patch
- Restrict KVM access to trusted users only via proper privilege separation
- Monitor system logs for KVM-related crashes or suspicious VM creation patterns
🔍 How to Verify
Check if Vulnerable:
Check kernel version and if running on ARM64 with KVM enabled: uname -r and check /proc/cpuinfo for ARM64
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commit: git log --oneline | grep 'ae8f8b37610269009326f4318df161206c59843e'
📡 Detection & Monitoring
Log Indicators:
- KASAN reports of use-after-free in kvm_put_kvm
- Kernel panics during VM teardown
- KVM-related crashes in dmesg
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kernel" AND ("KASAN: slab-use-after-free" OR "kvm_put_kvm" OR "BUG: KASAN")