CVE-2024-46851

4.7 MEDIUM

📋 TL;DR

This CVE describes a race condition vulnerability in the Linux kernel's AMD display driver (drm/amd/display). When dc_state_destruct() runs parallel to IRQ processing, it can nullify resource context while dcn10_set_drr() is still accessing it, potentially causing a NULL pointer dereference. This affects Linux systems with AMD graphics hardware.

💻 Affected Systems

Products:
  • Linux kernel with AMD display driver (drm/amd/display)
Versions: Linux kernel versions containing the vulnerable code (specific versions not specified in CVE, but commit references indicate stable kernel branches)
Operating Systems: Linux distributions with affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires AMD graphics hardware and the affected display driver module to be loaded and active.

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

⚠️ 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 or instability when display operations are performed concurrently with state changes, resulting in denial of service.

🟢

If Mitigated

Minor system instability or crash requiring reboot, but no privilege escalation or data compromise.

🌐 Internet-Facing: LOW - This is a local kernel vulnerability requiring local access or ability to trigger specific display operations.
🏢 Internal Only: MEDIUM - Local users or processes could potentially trigger this to cause system instability or denial of service.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM - Requires triggering specific race condition timing between display operations

Exploitation requires local access and ability to trigger concurrent display state operations.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel with commit a3cc326a43bdc48fbdf53443e1027a03e309b643 or later

Vendor Advisory: https://git.kernel.org/stable/c/a7aeb03888b92304e2fc7d4d1c242f54a312561b

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commit. 2. For distributions: Use package manager to update kernel package. 3. Reboot system to load patched kernel.

🔧 Temporary Workarounds

Disable AMD display driver

linux

Prevent loading of the vulnerable drm/amd/display module

echo 'blacklist amdgpu' >> /etc/modprobe.d/blacklist.conf
update-initramfs -u
reboot

🧯 If You Can't Patch

  • Restrict local user access to systems with AMD graphics hardware
  • Monitor system logs for kernel panic or crash events related to display operations

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if AMD display driver is loaded: lsmod | grep amdgpu && uname -r

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fix commit: git log --oneline | grep a3cc326a43bdc48fbdf53443e1027a03e309b643

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages
  • NULL pointer dereference errors in dmesg
  • Display driver crash logs

Network Indicators:

  • None - local vulnerability

SIEM Query:

source="kernel" AND ("NULL pointer" OR "kernel panic" OR "dcn10_set_drr")

🔗 References

📤 Share & Export