Skip to main content

CVE-2024-35795: Vulnerability in Linux Linux

High
VulnerabilityCVE-2024-35795cvecve-2024-35795
Published: Fri May 17 2024 (05/17/2024, 13:23:06 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: fix deadlock while reading mqd from debugfs An errant disk backup on my desktop got into debugfs and triggered the following deadlock scenario in the amdgpu debugfs files. The machine also hard-resets immediately after those lines are printed (although I wasn't able to reproduce that part when reading by hand): [ 1318.016074][ T1082] ====================================================== [ 1318.016607][ T1082] WARNING: possible circular locking dependency detected [ 1318.017107][ T1082] 6.8.0-rc7-00015-ge0c8221b72c0 #17 Not tainted [ 1318.017598][ T1082] ------------------------------------------------------ [ 1318.018096][ T1082] tar/1082 is trying to acquire lock: [ 1318.018585][ T1082] ffff98c44175d6a0 (&mm->mmap_lock){++++}-{3:3}, at: __might_fault+0x40/0x80 [ 1318.019084][ T1082] [ 1318.019084][ T1082] but task is already holding lock: [ 1318.020052][ T1082] ffff98c4c13f55f8 (reservation_ww_class_mutex){+.+.}-{3:3}, at: amdgpu_debugfs_mqd_read+0x6a/0x250 [amdgpu] [ 1318.020607][ T1082] [ 1318.020607][ T1082] which lock already depends on the new lock. [ 1318.020607][ T1082] [ 1318.022081][ T1082] [ 1318.022081][ T1082] the existing dependency chain (in reverse order) is: [ 1318.023083][ T1082] [ 1318.023083][ T1082] -> #2 (reservation_ww_class_mutex){+.+.}-{3:3}: [ 1318.024114][ T1082] __ww_mutex_lock.constprop.0+0xe0/0x12f0 [ 1318.024639][ T1082] ww_mutex_lock+0x32/0x90 [ 1318.025161][ T1082] dma_resv_lockdep+0x18a/0x330 [ 1318.025683][ T1082] do_one_initcall+0x6a/0x350 [ 1318.026210][ T1082] kernel_init_freeable+0x1a3/0x310 [ 1318.026728][ T1082] kernel_init+0x15/0x1a0 [ 1318.027242][ T1082] ret_from_fork+0x2c/0x40 [ 1318.027759][ T1082] ret_from_fork_asm+0x11/0x20 [ 1318.028281][ T1082] [ 1318.028281][ T1082] -> #1 (reservation_ww_class_acquire){+.+.}-{0:0}: [ 1318.029297][ T1082] dma_resv_lockdep+0x16c/0x330 [ 1318.029790][ T1082] do_one_initcall+0x6a/0x350 [ 1318.030263][ T1082] kernel_init_freeable+0x1a3/0x310 [ 1318.030722][ T1082] kernel_init+0x15/0x1a0 [ 1318.031168][ T1082] ret_from_fork+0x2c/0x40 [ 1318.031598][ T1082] ret_from_fork_asm+0x11/0x20 [ 1318.032011][ T1082] [ 1318.032011][ T1082] -> #0 (&mm->mmap_lock){++++}-{3:3}: [ 1318.032778][ T1082] __lock_acquire+0x14bf/0x2680 [ 1318.033141][ T1082] lock_acquire+0xcd/0x2c0 [ 1318.033487][ T1082] __might_fault+0x58/0x80 [ 1318.033814][ T1082] amdgpu_debugfs_mqd_read+0x103/0x250 [amdgpu] [ 1318.034181][ T1082] full_proxy_read+0x55/0x80 [ 1318.034487][ T1082] vfs_read+0xa7/0x360 [ 1318.034788][ T1082] ksys_read+0x70/0xf0 [ 1318.035085][ T1082] do_syscall_64+0x94/0x180 [ 1318.035375][ T1082] entry_SYSCALL_64_after_hwframe+0x46/0x4e [ 1318.035664][ T1082] [ 1318.035664][ T1082] other info that might help us debug this: [ 1318.035664][ T1082] [ 1318.036487][ T1082] Chain exists of: [ 1318.036487][ T1082] &mm->mmap_lock --> reservation_ww_class_acquire --> reservation_ww_class_mutex [ 1318.036487][ T1082] [ 1318.037310][ T1082] Possible unsafe locking scenario: [ 1318.037310][ T1082] [ 1318.037838][ T1082] CPU0 CPU1 [ 1318.038101][ T1082] ---- ---- [ 1318.038350][ T1082] lock(reservation_ww_class_mutex); [ 1318.038590][ T1082] lock(reservation_ww_class_acquire); [ 1318.038839][ T1082] lock(reservation_ww_class_mutex); [ 1318.039083][ T1082] rlock(&mm->mmap_lock); [ 1318.039328][ T1082] [ 1318.039328][ T1082] *** DEADLOCK *** [ 1318.039328][ T1082] [ 1318.040029][ T1082] 1 lock held by tar/1082: [ 1318.040259][ T1082] #0: ffff98c4c13f55f8 (reservation_ww_class_mutex){+.+.}-{3:3}, at: amdgpu_debugfs_mqd_read+0x6a/0x250 [amdgpu] [ 1318.040560][ T1082] [ 1318.040560][ T1082] stack backtrace: [ ---truncated---

AI-Powered Analysis

AILast updated: 06/29/2025, 15:56:49 UTC

Technical Analysis

CVE-2024-35795 is a vulnerability identified in the Linux kernel, specifically within the AMDGPU driver component that handles debugfs interactions related to MQD (Micro-Queue Descriptor) reads. The flaw manifests as a deadlock condition triggered when reading from the amdgpu debugfs files. The root cause is a circular locking dependency involving multiple kernel locks: the reservation_ww_class_mutex, reservation_ww_class_acquire, and the mm->mmap_lock. This deadlock occurs when a process attempts to acquire these locks in an unsafe order, leading to a situation where the kernel tasks wait indefinitely for locks held by each other, causing a system hang or hard reset. The vulnerability was discovered during an errant disk backup operation that accessed debugfs, which is a virtual filesystem used for debugging purposes. The kernel logs show warnings about circular locking dependencies and detailed stack traces pinpointing the exact locking functions involved. This issue affects Linux kernel versions containing the vulnerable AMDGPU driver code prior to the patch. Although no CVSS score has been assigned yet, the vulnerability is significant because it can cause system instability, crashes, or denial of service (DoS) conditions on affected systems. The vulnerability does not appear to require user interaction beyond triggering a read operation on debugfs and does not require elevated privileges beyond those needed to access debugfs files. No known exploits are currently reported in the wild, but the potential for disruption exists, especially on systems using AMD GPUs with the affected Linux kernel versions.

Potential Impact

For European organizations, the impact of CVE-2024-35795 primarily involves system availability and stability. Servers, workstations, or embedded devices running vulnerable Linux kernels with AMDGPU drivers could experience unexpected deadlocks leading to system hangs or hard resets. This can disrupt business operations, especially in environments relying on Linux for critical infrastructure, cloud services, or high-performance computing where AMD GPUs are deployed. The denial of service caused by this deadlock could affect data centers, research institutions, and enterprises using AMD GPU-accelerated workloads. Additionally, the instability may complicate maintenance and troubleshooting, increasing operational costs. Although the vulnerability does not directly expose confidentiality or integrity risks, the availability impact can indirectly affect service delivery and compliance with uptime requirements under European regulations. Organizations with Linux-based systems in sectors such as finance, healthcare, manufacturing, and public services should be particularly vigilant, as unexpected system crashes could lead to operational downtime and potential data loss if not properly managed.

Mitigation Recommendations

To mitigate CVE-2024-35795, European organizations should: 1) Apply the latest Linux kernel patches as soon as they become available from trusted sources or Linux distribution vendors, ensuring the AMDGPU driver deadlock fix is included. 2) Restrict access to debugfs, especially the amdgpu debugfs files, to trusted administrators only, as the vulnerability is triggered via debugfs reads. This can be done by mounting debugfs with appropriate permissions or disabling debugfs entirely on production systems where it is not needed. 3) Monitor system logs for warnings related to circular locking dependencies or deadlocks involving amdgpu to detect potential exploitation attempts or system instability early. 4) Implement robust system monitoring and automated recovery mechanisms to detect and remediate system hangs or crashes quickly, minimizing downtime. 5) For critical environments, consider isolating or limiting the use of AMD GPUs until patches are applied, or use alternative GPU drivers if feasible. 6) Engage with Linux distribution security advisories and maintain an up-to-date inventory of affected kernel versions to prioritize patching efforts effectively.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-05-17T12:19:12.339Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d982ac4522896dcbe34d4

Added to database: 5/21/2025, 9:08:58 AM

Last enriched: 6/29/2025, 3:56:49 PM

Last updated: 8/4/2025, 2:16:19 PM

Views: 13

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats