CVE-2024-40989
📋 TL;DR
This CVE is a use-after-free vulnerability in the Linux kernel's KVM (Kernel-based Virtual Machine) subsystem for ARM64 architectures. When tearing down a redistributor region (part of the GIC interrupt controller), dangling pointers to that region may remain in vCPU structures, potentially leading to memory corruption. This affects systems running Linux kernels with KVM virtualization enabled on ARM64 hardware.
💻 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 →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
An attacker with access to a guest VM could exploit this to achieve arbitrary code execution in the host kernel, potentially compromising the entire virtualization host and all other VMs.
Likely Case
Kernel panic or host system crash leading to denial of service for all VMs running on the affected host.
If Mitigated
If proper isolation and access controls are in place, impact may be limited to the affected VM or virtualization host only.
🎯 Exploit Status
Exploitation requires access to a guest VM and knowledge of ARM64 virtualization internals. No public exploits known at this time.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions containing commits: 0d92e4a7ffd5c42b9fa864692f82476c0bf8bcc8, 152b4123f21e6aff31cea01158176ad96a999c76, 48bb62859d47c5c4197a8c01128d0fa4f46ee58c, 68df4fc449fcc24347209e500ce26d5816705a77
Vendor Advisory: https://git.kernel.org/stable/c/0d92e4a7ffd5c42b9fa864692f82476c0bf8bcc8
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version from your distribution vendor. 2. Reboot the host system. 3. Verify kernel version after reboot.
🔧 Temporary Workarounds
Disable KVM on ARM64
linuxDisable KVM virtualization if not required, removing the vulnerable component
echo 'blacklist kvm' >> /etc/modprobe.d/blacklist.conf
echo 'blacklist kvm-arm' >> /etc/modprobe.d/blacklist.conf
update-initramfs -u
reboot
🧯 If You Can't Patch
- Isolate ARM64 virtualization hosts from untrusted networks
- Implement strict access controls to guest VMs and monitor for suspicious activity
🔍 How to Verify
Check if Vulnerable:
Check if running ARM64 architecture with KVM enabled: 'uname -m' should show aarch64 AND 'lsmod | grep kvm' should show kvm modules loaded
Check Version:
uname -r
Verify Fix Applied:
Check kernel version against patched versions from your distribution vendor
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- KVM-related crash dumps in /var/crash/
- System journal entries about KVM failures
Network Indicators:
- Sudden loss of connectivity to multiple VMs on same host
SIEM Query:
source="kernel" AND ("KVM" OR "kvm") AND ("panic" OR "Oops" OR "BUG")
🔗 References
- https://git.kernel.org/stable/c/0d92e4a7ffd5c42b9fa864692f82476c0bf8bcc8
- https://git.kernel.org/stable/c/152b4123f21e6aff31cea01158176ad96a999c76
- https://git.kernel.org/stable/c/48bb62859d47c5c4197a8c01128d0fa4f46ee58c
- https://git.kernel.org/stable/c/68df4fc449fcc24347209e500ce26d5816705a77
- https://git.kernel.org/stable/c/0d92e4a7ffd5c42b9fa864692f82476c0bf8bcc8
- https://git.kernel.org/stable/c/152b4123f21e6aff31cea01158176ad96a999c76
- https://git.kernel.org/stable/c/48bb62859d47c5c4197a8c01128d0fa4f46ee58c
- https://git.kernel.org/stable/c/68df4fc449fcc24347209e500ce26d5816705a77
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html