Skip to main content

CVE-2024-58084: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2024-58084cvecve-2024-58084
Published: Thu Mar 06 2025 (03/06/2025, 16:22:31 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: firmware: qcom: scm: Fix missing read barrier in qcom_scm_get_tzmem_pool() Commit 2e4955167ec5 ("firmware: qcom: scm: Fix __scm and waitq completion variable initialization") introduced a write barrier in probe function to store global '__scm' variable. We all known barriers are paired (see memory-barriers.txt: "Note that write barriers should normally be paired with read or address-dependency barriers"), therefore accessing it from concurrent contexts requires read barrier. Previous commit added such barrier in qcom_scm_is_available(), so let's use that directly. Lack of this read barrier can result in fetching stale '__scm' variable value, NULL, and dereferencing it. Note that barrier in qcom_scm_is_available() satisfies here the control dependency.

AI-Powered Analysis

AILast updated: 06/28/2025, 06:09:40 UTC

Technical Analysis

CVE-2024-58084 is a vulnerability identified in the Linux kernel, specifically within the Qualcomm (qcom) firmware subsystem's Secure Channel Manager (SCM) implementation. The issue arises from a missing read memory barrier in the function qcom_scm_get_tzmem_pool(). In concurrent programming, memory barriers are critical to ensure proper ordering of memory operations across multiple processors or cores. The vulnerability stems from a previous patch (commit 2e4955167ec5) that introduced a write barrier to store a global variable '__scm' safely during probe initialization. However, this write barrier was not paired with the necessary read barrier when accessing '__scm' concurrently. Without the read barrier, there is a risk that a thread or process could read a stale or NULL value of the '__scm' pointer, leading to a NULL pointer dereference and potential kernel crash or denial of service. The qcom_scm_is_available() function does include a read barrier, but it was not consistently applied in qcom_scm_get_tzmem_pool(), which is the root cause of this flaw. This vulnerability is a subtle concurrency bug related to memory ordering in the Linux kernel's Qualcomm firmware interface, which could cause system instability or crashes under certain race conditions. No known exploits are reported in the wild, and the issue was publicly disclosed on March 6, 2025. The affected versions correspond to specific Linux kernel commits identified by their hashes, indicating this is a recent and targeted fix in the kernel source code. No CVSS score has been assigned yet.

Potential Impact

For European organizations, the impact of CVE-2024-58084 primarily involves potential system instability or denial of service on devices running affected Linux kernel versions with Qualcomm firmware components. This includes embedded systems, mobile devices, and network equipment that rely on Qualcomm SoCs and Linux-based firmware stacks. A kernel NULL pointer dereference can cause system crashes, leading to downtime or service interruptions. While this vulnerability does not directly enable privilege escalation or remote code execution, the resulting denial of service could disrupt critical infrastructure, telecommunications, or industrial control systems that use affected hardware. European enterprises in telecommunications, automotive, and IoT sectors may be particularly impacted due to their reliance on Qualcomm-based Linux systems. Additionally, the concurrency nature of the bug means it may be triggered under specific workloads or timing conditions, complicating detection and remediation. Although no active exploitation is known, the presence of this flaw in widely deployed Linux kernels necessitates prompt patching to maintain system reliability and security.

Mitigation Recommendations

To mitigate CVE-2024-58084, European organizations should: 1) Identify all systems running Linux kernels with Qualcomm firmware components, especially those using the affected commit versions or earlier. 2) Apply the official Linux kernel patches that fix the missing read barrier in qcom_scm_get_tzmem_pool() as soon as they are available from trusted kernel sources or vendor updates. 3) For embedded or specialized devices where kernel updates are challenging, coordinate with hardware vendors or OEMs to obtain firmware or kernel updates incorporating the fix. 4) Implement robust monitoring for kernel crashes or system instability that could indicate triggering of this concurrency bug. 5) Use kernel live patching technologies where feasible to reduce downtime during patch deployment. 6) Conduct thorough regression testing after patching to ensure system stability and that no new concurrency issues are introduced. 7) Maintain strict change management and vulnerability tracking to ensure timely remediation of this and related kernel vulnerabilities. These steps go beyond generic advice by focusing on identifying affected Qualcomm firmware usage, coordinating with vendors for embedded systems, and leveraging live patching and monitoring to minimize operational impact.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2025-03-06T15:52:09.184Z
Cisa Enriched
false
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9822c4522896dcbde31d

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

Last enriched: 6/28/2025, 6:09:40 AM

Last updated: 7/25/2025, 4:25:34 PM

Views: 12

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