CVE-2024-58084: firmware: qcom: scm: Fix missing read barrier in qcom_scm_get_tzmem_pool()
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.
Security readout for executives and security teams
Plain-English summary
CVE-2024-58084 is a Linux kernel availability bug in Qualcomm SCM firmware code. A local low-privileged user could trigger a kernel NULL pointer dereference on affected systems, potentially crashing the system. The sources do not indicate data theft, privilege escalation, or active exploitation.
Executive priority
Treat this as a moderate availability risk. Patch affected Qualcomm-based Linux systems through normal urgent maintenance, faster for systems where downtime has business impact or local user access is broadly available.
Technical view
The qcom SCM driver can read a stale global __scm value because qcom_scm_get_tzmem_pool() lacked a paired read barrier. That stale NULL value can be dereferenced. The upstream fix uses qcom_scm_is_available(), whose barrier satisfies the required control dependency. CWE-476 applies.
Likely exposure
Exposure is most likely on Linux systems using the Qualcomm SCM firmware path and affected kernel builds listed by the CVE record. Generic Linux systems without this driver path are less likely to be exposed, but the bundle does not provide a complete product matrix.
Exploitation context
The CVSS vector is local, low complexity, low privileges, no user interaction, with high availability impact only. The bundle marks KEV as false and provides no cited evidence of active exploitation or public weaponization.
Researcher notes
The evidence supports a kernel race or ordering defect leading to NULL dereference, not confidentiality or integrity compromise. Affected-version details in the bundle are limited and oddly formatted, so validate against vendor kernel trees and stable commit inclusion.
Mitigation direction
Apply Linux kernel updates containing the referenced stable fixes.
Check distribution or device-vendor advisories for supported patched builds.
Prioritize Qualcomm-platform Linux devices where qcom SCM firmware support is enabled.
Avoid inventing local workarounds; follow vendor kernel guidance.
Validation and detection
Inventory running Linux kernel versions across Qualcomm-based systems.
Confirm whether the qcom SCM firmware driver is present and enabled.
Verify patched kernel sources include one of the referenced stable commits.
Record systems still on affected builds for maintenance scheduling.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-476: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-476 · source CWE mapping
NULL Pointer Dereference
NULL Pointer Dereference represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.