CVE-2024-35795

5.5 MEDIUM

📋 TL;DR

A deadlock vulnerability in the Linux kernel's AMD GPU driver debugfs interface allows local attackers to cause a denial of service (system crash/hard reset) by reading specific debugfs files while holding certain locks. This affects Linux systems with AMD GPUs and the amdgpu driver loaded.

💻 Affected Systems

Products:
  • Linux kernel with AMD GPU driver (amdgpu)
Versions: Linux kernel versions before the fix commits (specific versions vary by distribution)
Operating Systems: Linux distributions with vulnerable kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires AMD GPU hardware with amdgpu driver loaded and debugfs mounted. The vulnerability was triggered by reading /sys/kernel/debug/dri/*/mqd files.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

System hard reset/crash leading to data loss, service disruption, and potential filesystem corruption.

🟠

Likely Case

System crash/hard reset when debugfs files are accessed under specific conditions, causing temporary denial of service.

🟢

If Mitigated

No impact if debugfs is not mounted or access is restricted to privileged users only.

🌐 Internet-Facing: LOW - Requires local access to debugfs interface.
🏢 Internal Only: MEDIUM - Local users or processes with debugfs access can trigger system crashes.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW - Simple read operation on debugfs file

Exploitation requires local access to debugfs interface. The deadlock scenario was accidentally triggered by a disk backup operation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in Linux kernel commits: 197f6d6987c55860f6eea1c93e4f800c59078874, 4687e3c6ee877ee25e57b984eca00be53b9a8db5, 8678b1060ae2b75feb60b87e5b75e17374e3c1c5, 8b03556da6e576c62664b6cd01809e4a09d53b5b

Vendor Advisory: https://git.kernel.org/stable/c/197f6d6987c55860f6eea1c93e4f800c59078874

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. Check with your distribution for specific patched kernel versions. 3. Reboot system after kernel update.

🔧 Temporary Workarounds

Disable debugfs access

linux

Unmount debugfs or restrict access to prevent triggering the vulnerability

umount /sys/kernel/debug
mount -t debugfs none /sys/kernel/debug -o ro,noexec,nosuid

Restrict debugfs permissions

linux

Change debugfs permissions to root-only access

chmod 700 /sys/kernel/debug
chown root:root /sys/kernel/debug

🧯 If You Can't Patch

  • Restrict debugfs access to root users only using filesystem permissions
  • Unmount debugfs filesystem if not required for system operation

🔍 How to Verify

Check if Vulnerable:

Check if debugfs is mounted and accessible: 'mount | grep debugfs' and 'ls -la /sys/kernel/debug/dri/'

Check Version:

uname -r

Verify Fix Applied:

Check kernel version against patched versions from your distribution, or verify the fix commits are present in kernel source

📡 Detection & Monitoring

Log Indicators:

  • Kernel logs showing 'possible circular locking dependency detected'
  • System crash/hard reset events
  • Messages about amdgpu_debugfs_mqd_read deadlock

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("circular locking" OR "amdgpu_debugfs_mqd_read" OR "deadlock")

🔗 References

📤 Share & Export