Skip to main content

CVE-2024-27005: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2024-27005cvecve-2024-27005
Published: Wed May 01 2024 (05/01/2024, 05:28:59 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: interconnect: Don't access req_list while it's being manipulated The icc_lock mutex was split into separate icc_lock and icc_bw_lock mutexes in [1] to avoid lockdep splats. However, this didn't adequately protect access to icc_node::req_list. The icc_set_bw() function will eventually iterate over req_list while only holding icc_bw_lock, but req_list can be modified while only holding icc_lock. This causes races between icc_set_bw(), of_icc_get(), and icc_put(). Example A: CPU0 CPU1 ---- ---- icc_set_bw(path_a) mutex_lock(&icc_bw_lock); icc_put(path_b) mutex_lock(&icc_lock); aggregate_requests() hlist_for_each_entry(r, ... hlist_del(... <r = invalid pointer> Example B: CPU0 CPU1 ---- ---- icc_set_bw(path_a) mutex_lock(&icc_bw_lock); path_b = of_icc_get() of_icc_get_by_index() mutex_lock(&icc_lock); path_find() path_init() aggregate_requests() hlist_for_each_entry(r, ... hlist_add_head(... <r = invalid pointer> Fix this by ensuring icc_bw_lock is always held before manipulating icc_node::req_list. The additional places icc_bw_lock is held don't perform any memory allocations, so we should still be safe from the original lockdep splats that motivated the separate locks. [1] commit af42269c3523 ("interconnect: Fix locking for runpm vs reclaim")

AI-Powered Analysis

AILast updated: 06/28/2025, 02:55:38 UTC

Technical Analysis

CVE-2024-27005 is a concurrency vulnerability in the Linux kernel's interconnect (icc) subsystem, specifically related to improper locking around the manipulation of the icc_node::req_list linked list. The issue arises because the icc_lock mutex was split into two separate mutexes: icc_lock and icc_bw_lock, to avoid lockdep splats. However, this separation did not fully protect concurrent access to req_list. The icc_set_bw() function iterates over req_list while holding only icc_bw_lock, but req_list can be concurrently modified while holding only icc_lock, leading to race conditions. These races can cause the iteration to access invalid pointers, resulting in potential memory corruption or kernel crashes. The vulnerability manifests in scenarios where one CPU thread is iterating over req_list (holding icc_bw_lock), while another CPU thread modifies req_list (holding icc_lock), leading to use-after-free or invalid pointer dereferences. The fix involves ensuring that icc_bw_lock is always held before any manipulation of req_list, thus serializing access and preventing races. This fix maintains safety from the original lockdep splats that motivated the lock split, as the additional lock acquisitions do not perform memory allocations. The vulnerability affects specific Linux kernel versions identified by commit hashes, and no known exploits are currently reported in the wild. The CVSS 3.1 score is 6.3 (medium severity), reflecting a local attack vector requiring low privileges and high attack complexity, with no user interaction needed. The impact includes potential confidentiality loss and availability disruption due to kernel crashes or memory corruption, but no integrity impact is indicated.

Potential Impact

For European organizations relying on Linux-based infrastructure, especially those using kernels with the affected commits, this vulnerability poses a risk of local privilege escalation or denial of service through kernel crashes. Systems running critical services or embedded Linux devices that utilize the interconnect subsystem could experience instability or downtime. The confidentiality impact suggests potential information leakage scenarios, possibly through memory corruption side effects. Given the medium CVSS score and the requirement for local access with low privileges, attackers with limited system access could exploit this to disrupt services or gain further foothold. This is particularly relevant for sectors with high Linux deployment such as telecommunications, cloud service providers, and industrial control systems prevalent in Europe. The lack of known exploits reduces immediate risk, but the concurrency nature of the bug means that exploitation might be complex and environment-dependent. Nonetheless, unpatched systems remain vulnerable to potential future exploitation attempts.

Mitigation Recommendations

European organizations should prioritize updating Linux kernels to versions that include the fix ensuring icc_bw_lock is held before manipulating req_list. Kernel updates should be applied promptly, especially on systems exposed to local users or running multi-tenant workloads. For environments where immediate patching is challenging, implementing strict access controls to limit local user privileges can reduce exploitation likelihood. Monitoring kernel logs for unusual crashes or memory corruption symptoms related to the interconnect subsystem can provide early detection. Additionally, organizations should audit their Linux kernel versions against the affected commits and consider recompiling kernels with backported patches if vendor updates are delayed. For embedded or specialized Linux systems, coordination with device vendors to obtain patched firmware is critical. Finally, adopting kernel hardening techniques such as Kernel Address Space Layout Randomization (KASLR) and Control Flow Integrity (CFI) can increase exploitation difficulty.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-02-19T14:20:24.207Z
Cisa Enriched
true
Cvss Version
3.1
State
PUBLISHED

Threat ID: 682d9821c4522896dcbddb9b

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

Last enriched: 6/28/2025, 2:55:38 AM

Last updated: 7/28/2025, 11:04:49 PM

Views: 11

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