CVE-2024-49989

7.8 HIGH

📋 TL;DR

This CVE describes a double-free memory corruption vulnerability in the AMD GPU display driver within the Linux kernel. When unloading the amdgpu kernel module, the system attempts to free the same memory twice, causing a kernel panic and system crash. This affects Linux systems with AMD graphics hardware using the amdgpu driver.

💻 Affected Systems

Products:
  • Linux kernel with AMD GPU support
Versions: Linux kernel versions containing the vulnerable AMD display driver code (specific versions not specified in CVE, but patches available for stable branches)
Operating Systems: Linux distributions with AMD GPU driver support
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with AMD graphics hardware using the amdgpu driver. Vulnerability triggers specifically during amdgpu module unloading.

📦 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 →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel panic leading to system crash and denial of service, potentially causing data loss or system instability.

🟠

Likely Case

System crash when unloading the amdgpu module, requiring reboot and causing temporary service disruption.

🟢

If Mitigated

No impact if the vulnerability is patched or the amdgpu module is not unloaded.

🌐 Internet-Facing: LOW - This vulnerability requires local access to trigger via module unloading.
🏢 Internal Only: MEDIUM - Local users with sufficient privileges could crash the system, but exploitation requires specific conditions.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires local access and ability to unload kernel modules (typically root privileges). The vulnerability is triggered predictably during module unloading.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Patches available in Linux kernel stable branches (commits: 20b5a8f9f4670a8503aa9fa95ca632e77c6bf55d, 3c0ff4de45ce2c5f7997a1ffa6eefee4b79e6b58, 43c296870740a3a264cdca9f18db12e12e9cfbdb, 7af9e6fa63dbd43a61d4ecc8f59426596a75e507, cf6f3ebd6312d465fee096d1f58089b177c7c67f)

Vendor Advisory: https://git.kernel.org/stable/c/20b5a8f9f4670a8503aa9fa95ca632e77c6bf55d

Restart Required: Yes

Instructions:

1. Update Linux kernel to a version containing the fix. 2. For distributions: Use package manager to update kernel package. 3. For custom kernels: Apply the relevant patch from kernel.org. 4. Reboot system to load patched kernel.

🔧 Temporary Workarounds

Prevent amdgpu module unloading

linux

Prevent unloading of the amdgpu kernel module to avoid triggering the vulnerability

echo 'install amdgpu /bin/false' >> /etc/modprobe.d/blacklist-amdgpu.conf
update-initramfs -u

🧯 If You Can't Patch

  • Restrict module management permissions to prevent unauthorized users from unloading modules
  • Monitor for amdgpu module unloading attempts and investigate any such activity

🔍 How to Verify

Check if Vulnerable:

Check if system has AMD GPU and amdgpu module loaded: lsmod | grep amdgpu

Check Version:

uname -r

Verify Fix Applied:

Check kernel version against patched versions or verify the specific commit is present in kernel source

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages mentioning __slab_free, double free, or amdgpu module unloading
  • System crash/reboot logs following amdgpu module operations

Network Indicators:

  • None - this is a local vulnerability

SIEM Query:

source="kernel" AND ("double free" OR "__slab_free" OR "amdgpu" AND "unload")

🔗 References

📤 Share & Export