CVE-2024-40987
📋 TL;DR
This CVE addresses an out-of-bounds write vulnerability in the AMD GPU driver within the Linux kernel. An attacker with local access could potentially trigger undefined behavior leading to kernel crashes or privilege escalation. Systems using AMD graphics hardware with affected kernel versions are vulnerable.
💻 Affected Systems
- Linux kernel with AMD GPU driver (drm/amdgpu)
📦 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 →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
Local privilege escalation leading to full system compromise through kernel memory corruption.
Likely Case
Kernel panic or system crash causing denial of service.
If Mitigated
No impact if kernel bounds checking prevents exploitation.
🎯 Exploit Status
Requires local access and knowledge of driver internals to trigger the UBSAN warning condition.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel commits: 1c44f7759a5650acf8f13d3e0a184d09e03be9e4, 4ad7d49059358ceadd352b4e2511425bdb68f400, 4d020c1dbd2b2304f44d003e6de956ae570049dc, b065d79ed06a0bb4377bc6dcc2ff0cb1f55a798f, b0d612619ed70cab476c77b19e00d13aa414e14f
Vendor Advisory: https://git.kernel.org/stable/c/1c44f7759a5650acf8f13d3e0a184d09e03be9e4
Restart Required: Yes
Instructions:
1. Update Linux kernel to version containing the fix commits. 2. Rebuild kernel if compiling from source. 3. Reboot system to load patched kernel.
🔧 Temporary Workarounds
Disable AMD GPU driver module
linuxPrevents loading of vulnerable amdgpu kernel module
echo 'blacklist amdgpu' >> /etc/modprobe.d/blacklist-amdgpu.conf
update-initramfs -u
reboot
🧯 If You Can't Patch
- Restrict local user access to systems with AMD graphics hardware
- Implement strict privilege separation and limit user permissions
🔍 How to Verify
Check if Vulnerable:
Check kernel version and if amdgpu module is loaded: lsmod | grep amdgpu
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commits: uname -r and check git log for commit hashes
📡 Detection & Monitoring
Log Indicators:
- Kernel panic logs
- UBSAN warnings in dmesg output
- System crash reports
Network Indicators:
- None - local exploit only
SIEM Query:
search 'kernel panic' OR 'UBSAN' OR 'amdgpu' in system logs
🔗 References
- https://git.kernel.org/stable/c/1c44f7759a5650acf8f13d3e0a184d09e03be9e4
- https://git.kernel.org/stable/c/4ad7d49059358ceadd352b4e2511425bdb68f400
- https://git.kernel.org/stable/c/4d020c1dbd2b2304f44d003e6de956ae570049dc
- https://git.kernel.org/stable/c/b065d79ed06a0bb4377bc6dcc2ff0cb1f55a798f
- https://git.kernel.org/stable/c/b0d612619ed70cab476c77b19e00d13aa414e14f
- https://git.kernel.org/stable/c/d8a04a6bfa75251ba7bcc3651ed211e82f13f388
- https://git.kernel.org/stable/c/f0d576f840153392d04b2d52cf3adab8f62e8cb6
- https://git.kernel.org/stable/c/fc5cb952e6723c5c55e47b8cf94a891bd4af1a86
- https://git.kernel.org/stable/c/1c44f7759a5650acf8f13d3e0a184d09e03be9e4
- https://git.kernel.org/stable/c/4ad7d49059358ceadd352b4e2511425bdb68f400
- https://git.kernel.org/stable/c/4d020c1dbd2b2304f44d003e6de956ae570049dc
- https://git.kernel.org/stable/c/b065d79ed06a0bb4377bc6dcc2ff0cb1f55a798f
- https://git.kernel.org/stable/c/b0d612619ed70cab476c77b19e00d13aa414e14f
- https://git.kernel.org/stable/c/d8a04a6bfa75251ba7bcc3651ed211e82f13f388
- https://git.kernel.org/stable/c/f0d576f840153392d04b2d52cf3adab8f62e8cb6
- https://git.kernel.org/stable/c/fc5cb952e6723c5c55e47b8cf94a891bd4af1a86
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html