Skip to main content

CVE-2024-38385: Vulnerability in Linux Linux

High
VulnerabilityCVE-2024-38385cvecve-2024-38385
Published: Tue Jun 25 2024 (06/25/2024, 14:22:37 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: genirq/irqdesc: Prevent use-after-free in irq_find_at_or_after() irq_find_at_or_after() dereferences the interrupt descriptor which is returned by mt_find() while neither holding sparse_irq_lock nor RCU read lock, which means the descriptor can be freed between mt_find() and the dereference: CPU0 CPU1 desc = mt_find() delayed_free_desc(desc) irq_desc_get_irq(desc) The use-after-free is reported by KASAN: Call trace: irq_get_next_irq+0x58/0x84 show_stat+0x638/0x824 seq_read_iter+0x158/0x4ec proc_reg_read_iter+0x94/0x12c vfs_read+0x1e0/0x2c8 Freed by task 4471: slab_free_freelist_hook+0x174/0x1e0 __kmem_cache_free+0xa4/0x1dc kfree+0x64/0x128 irq_kobj_release+0x28/0x3c kobject_put+0xcc/0x1e0 delayed_free_desc+0x14/0x2c rcu_do_batch+0x214/0x720 Guard the access with a RCU read lock section.

AI-Powered Analysis

AILast updated: 06/29/2025, 10:57:19 UTC

Technical Analysis

CVE-2024-38385 is a use-after-free vulnerability identified in the Linux kernel's interrupt handling subsystem, specifically within the genirq/irqdesc code. The vulnerability arises in the irq_find_at_or_after() function, which dereferences an interrupt descriptor returned by mt_find() without holding the necessary synchronization mechanisms—namely, neither the sparse_irq_lock nor the RCU (Read-Copy-Update) read lock. This lack of proper locking allows the descriptor to be freed concurrently between the mt_find() call and its dereference, leading to a use-after-free condition. The race condition is demonstrated by concurrent CPU operations where one CPU obtains the descriptor via mt_find(), while another CPU frees the descriptor via delayed_free_desc(). The kernel's KASAN (Kernel Address Sanitizer) tool detected this flaw, providing a call trace that highlights the vulnerable code paths involved in irq_get_next_irq, show_stat, and proc_reg_read_iter, among others. The root cause is the absence of an RCU read lock guarding the access to the interrupt descriptor, which is critical to prevent the descriptor from being freed while still in use. The fix involves wrapping the access to the descriptor within an RCU read lock section to ensure safe concurrent access and prevent use-after-free conditions. This vulnerability affects Linux kernel versions identified by the given commit hashes and was published on June 25, 2024. No known exploits are currently reported in the wild.

Potential Impact

For European organizations, this vulnerability poses a risk primarily to systems running vulnerable Linux kernel versions, which are widespread across enterprise servers, cloud infrastructure, and embedded devices. Exploitation of this use-after-free flaw could lead to kernel crashes (denial of service) or potentially enable privilege escalation or arbitrary code execution within the kernel context if an attacker can manipulate interrupt descriptors. This could compromise system availability and integrity, impacting critical services and infrastructure. Given Linux's prevalence in European data centers, telecommunications, and government systems, exploitation could disrupt operations, lead to data breaches, or facilitate lateral movement within networks. Although no active exploits are known, the vulnerability's presence in the kernel's interrupt handling—a core subsystem—makes it a high-value target for attackers aiming to gain kernel-level control. The impact is heightened in environments with multi-core processors where concurrent access to interrupt descriptors is common, increasing the likelihood of triggering the race condition.

Mitigation Recommendations

European organizations should prioritize updating their Linux kernel to the patched versions that include the fix for CVE-2024-38385. Since the vulnerability stems from improper locking in kernel code, applying official kernel patches or upgrading to a kernel release that incorporates this fix is the most effective mitigation. For organizations using custom or long-term support kernels, backporting the patch may be necessary. Additionally, organizations should audit their systems to identify vulnerable kernel versions using package management tools or kernel version checks. Employing kernel hardening features such as KASAN during testing phases can help detect similar issues proactively. In environments where immediate patching is not feasible, minimizing exposure by restricting untrusted user access and monitoring for unusual kernel crashes or system instability related to interrupt handling is advisable. Finally, maintaining robust incident detection and response capabilities to quickly identify exploitation attempts is critical.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-06-24T13:54:11.033Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9829c4522896dcbe28ba

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

Last enriched: 6/29/2025, 10:57:19 AM

Last updated: 8/7/2025, 12:49:00 AM

Views: 21

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