CVE-2024-46731
📋 TL;DR
This CVE describes an out-of-bounds read vulnerability in the AMD GPU power management driver (drm/amd/pm) in the Linux kernel. An attacker could potentially read kernel memory beyond allocated bounds, which could lead to information disclosure or be used as part of a more complex attack chain. This affects Linux systems with AMD GPUs using the affected kernel versions.
💻 Affected Systems
- Linux kernel with AMD GPU driver (drm/amd/pm)
📦 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 memory disclosure leading to privilege escalation or system compromise through chained attacks
Likely Case
System crash/panic (kernel oops) or information disclosure about kernel memory layout
If Mitigated
No impact if patched or if exploit attempts are blocked by security controls
🎯 Exploit Status
Requires local access to the system. Out-of-bounds read vulnerabilities typically require additional vulnerabilities for full exploitation.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions containing the git commits referenced in the CVE
Vendor Advisory: https://git.kernel.org/stable/c/12c6967428a099bbba9dfd247bb4322a984fcc0b
Restart Required: Yes
Instructions:
1. Update Linux kernel to a version containing the fix commits. 2. For distributions: Use package manager (apt/yum/dnf) to update kernel. 3. Reboot system to load new kernel.
🔧 Temporary Workarounds
Disable AMD GPU power management
linuxTemporarily disable the affected driver module to prevent exploitation
sudo modprobe -r amdgpu
echo 'blacklist amdgpu' | sudo tee /etc/modprobe.d/blacklist-amdgpu.conf
🧯 If You Can't Patch
- Restrict local access to systems with AMD GPUs
- Implement strict privilege separation and limit user access to kernel interfaces
🔍 How to Verify
Check if Vulnerable:
Check kernel version and if AMD GPU driver is loaded: lsmod | grep amdgpu && uname -r
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version is updated and contains the fix commits. Check dmesg for any out-of-bounds read errors.
📡 Detection & Monitoring
Log Indicators:
- Kernel oops messages in dmesg/syslog
- Out-of-bounds access warnings in kernel logs
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kernel" AND ("oops" OR "out of bounds" OR "general protection fault")
🔗 References
- https://git.kernel.org/stable/c/12c6967428a099bbba9dfd247bb4322a984fcc0b
- https://git.kernel.org/stable/c/20c6373a6be93039f9d66029bb1e21038a060be1
- https://git.kernel.org/stable/c/3317966efcdc5101e93db21514b68917e7eb34ea
- https://git.kernel.org/stable/c/38e32a0d837443c91c4b615a067b976cfb925376
- https://git.kernel.org/stable/c/d83fb9f9f63e9a120bf405b078f829f0b2e58934
- https://git.kernel.org/stable/c/f1e261ced9bcad772a45a2fcdf413c3490e87299
- https://lists.debian.org/debian-lts-announce/2024/10/msg00003.html
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html