Skip to main content

CVE-2024-38664: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2024-38664cvecve-2024-38664
Published: Mon Jun 24 2024 (06/24/2024, 13:50:52 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: drm: zynqmp_dpsub: Always register bridge We must always register the DRM bridge, since zynqmp_dp_hpd_work_func calls drm_bridge_hpd_notify, which in turn expects hpd_mutex to be initialized. We do this before zynqmp_dpsub_drm_init since that calls drm_bridge_attach. This fixes the following lockdep warning: [ 19.217084] ------------[ cut here ]------------ [ 19.227530] DEBUG_LOCKS_WARN_ON(lock->magic != lock) [ 19.227768] WARNING: CPU: 0 PID: 140 at kernel/locking/mutex.c:582 __mutex_lock+0x4bc/0x550 [ 19.241696] Modules linked in: [ 19.244937] CPU: 0 PID: 140 Comm: kworker/0:4 Not tainted 6.6.20+ #96 [ 19.252046] Hardware name: xlnx,zynqmp (DT) [ 19.256421] Workqueue: events zynqmp_dp_hpd_work_func [ 19.261795] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 19.269104] pc : __mutex_lock+0x4bc/0x550 [ 19.273364] lr : __mutex_lock+0x4bc/0x550 [ 19.277592] sp : ffffffc085c5bbe0 [ 19.281066] x29: ffffffc085c5bbe0 x28: 0000000000000000 x27: ffffff88009417f8 [ 19.288624] x26: ffffff8800941788 x25: ffffff8800020008 x24: ffffffc082aa3000 [ 19.296227] x23: ffffffc080d90e3c x22: 0000000000000002 x21: 0000000000000000 [ 19.303744] x20: 0000000000000000 x19: ffffff88002f5210 x18: 0000000000000000 [ 19.311295] x17: 6c707369642e3030 x16: 3030613464662072 x15: 0720072007200720 [ 19.318922] x14: 0000000000000000 x13: 284e4f5f4e524157 x12: 0000000000000001 [ 19.326442] x11: 0001ffc085c5b940 x10: 0001ff88003f388b x9 : 0001ff88003f3888 [ 19.334003] x8 : 0001ff88003f3888 x7 : 0000000000000000 x6 : 0000000000000000 [ 19.341537] x5 : 0000000000000000 x4 : 0000000000001668 x3 : 0000000000000000 [ 19.349054] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffffff88003f3880 [ 19.356581] Call trace: [ 19.359160] __mutex_lock+0x4bc/0x550 [ 19.363032] mutex_lock_nested+0x24/0x30 [ 19.367187] drm_bridge_hpd_notify+0x2c/0x6c [ 19.371698] zynqmp_dp_hpd_work_func+0x44/0x54 [ 19.376364] process_one_work+0x3ac/0x988 [ 19.380660] worker_thread+0x398/0x694 [ 19.384736] kthread+0x1bc/0x1c0 [ 19.388241] ret_from_fork+0x10/0x20 [ 19.392031] irq event stamp: 183 [ 19.395450] hardirqs last enabled at (183): [<ffffffc0800b9278>] finish_task_switch.isra.0+0xa8/0x2d4 [ 19.405140] hardirqs last disabled at (182): [<ffffffc081ad3754>] __schedule+0x714/0xd04 [ 19.413612] softirqs last enabled at (114): [<ffffffc080133de8>] srcu_invoke_callbacks+0x158/0x23c [ 19.423128] softirqs last disabled at (110): [<ffffffc080133de8>] srcu_invoke_callbacks+0x158/0x23c [ 19.432614] ---[ end trace 0000000000000000 ]--- (cherry picked from commit 61ba791c4a7a09a370c45b70a81b8c7d4cf6b2ae)

AI-Powered Analysis

AILast updated: 06/29/2025, 12:24:58 UTC

Technical Analysis

CVE-2024-38664 is a vulnerability identified in the Linux kernel specifically related to the Direct Rendering Manager (DRM) subsystem for the Zynq UltraScale+ MPSoC platform (zynqmp). The issue arises from improper handling of the DRM bridge registration within the zynqmp_dpsub driver. The vulnerability is due to the failure to always register the DRM bridge before certain operations occur, notably before the call to drm_bridge_attach in the zynqmp_dpsub_drm_init function. This improper ordering leads to a situation where the drm_bridge_hpd_notify function is called by zynqmp_dp_hpd_work_func while the hpd_mutex (hot-plug detect mutex) is not properly initialized. As a result, a lockdep warning is triggered indicating a potential locking issue, which could lead to kernel instability or deadlocks. The detailed kernel trace shows mutex lock warnings and stack traces pointing to the mutex locking routines and the DRM bridge notification functions. The fix involves ensuring the DRM bridge is always registered early enough to guarantee that the hpd_mutex is initialized before any notification calls, thereby preventing the lockdep warnings and potential race conditions. Although this vulnerability does not appear to be exploitable for privilege escalation or direct code execution, it can cause kernel warnings and potentially lead to system instability or denial of service on affected devices. The affected systems are those running Linux kernels with the zynqmp DRM driver, primarily embedded systems using the Xilinx Zynq UltraScale+ MPSoC hardware platform. There are no known exploits in the wild, and no CVSS score has been assigned yet.

Potential Impact

For European organizations, the impact of CVE-2024-38664 is primarily related to operational stability rather than direct security breaches. Organizations using embedded Linux systems based on the Xilinx Zynq UltraScale+ MPSoC platform—common in industrial control systems, telecommunications infrastructure, automotive, and specialized computing devices—may experience kernel warnings, potential deadlocks, or system crashes due to this vulnerability. This could lead to denial of service conditions affecting critical infrastructure or industrial processes. While the vulnerability does not directly expose systems to remote code execution or privilege escalation, the resulting instability could disrupt services, cause downtime, or require costly maintenance and patching cycles. For sectors relying on real-time or high-availability embedded systems, such as manufacturing automation or network equipment providers, this vulnerability could degrade system reliability and increase operational risk. Given the embedded nature of the affected platform, the threat is less relevant to general-purpose Linux servers or desktops but is significant for specialized hardware deployments common in European industrial and telecom environments.

Mitigation Recommendations

To mitigate CVE-2024-38664, organizations should: 1) Apply the latest Linux kernel patches that include the fix for this vulnerability, ensuring the DRM bridge is always registered before any hot-plug detect notifications occur. 2) For embedded systems using the Zynq UltraScale+ MPSoC platform, coordinate with hardware and software vendors to obtain updated kernel versions or firmware that incorporate this fix. 3) Implement rigorous testing of updated kernels in staging environments to detect any regression or instability before deployment. 4) Monitor system logs for lockdep warnings or mutex-related kernel messages that may indicate the presence of this issue on unpatched systems. 5) Where patching is delayed, consider implementing operational controls such as scheduled reboots or failover mechanisms to mitigate potential denial of service impacts. 6) Engage with device manufacturers to ensure long-term support and security updates for embedded Linux platforms in use. These steps go beyond generic advice by focusing on vendor coordination, embedded system specifics, and proactive monitoring tailored to the affected hardware and software stack.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-06-21T11:16:40.607Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9829c4522896dcbe2c09

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

Last enriched: 6/29/2025, 12:24:58 PM

Last updated: 8/17/2025, 11:20:25 AM

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