CVE-2024-58084
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Summary
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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 449d0d84bcd8246b508d07995326d13c54488b8c < fee921e3c641f64185abee83f9a6e65f0b380682 | affected |
| Linux | Linux | 449d0d84bcd8246b508d07995326d13c54488b8c < e03db7c1255ebabba5e1a447754faeb138de15a2 | affected |
| Linux | Linux | 449d0d84bcd8246b508d07995326d13c54488b8c < b628510397b5cafa1f5d3e848a28affd1c635302 | affected |
| Linux | Linux | 6.11 | affected |
| Linux | Linux | 0 < 6.11 | unaffected |
| Linux | Linux | 6.12.14 <= 6.12.* | unaffected |
| Linux | Linux | 6.13.3 <= 6.13.* | unaffected |
| Linux | Linux | 6.14 <= * | unaffected |
Weaknesses
ADP Enrichment
CISA ADP Vulnrichment
- SSVC:
- Exploitation: none
- Automatable: no
- Technical Impact: partial
References
- https://git.kernel.org/stable/c/fee921e3c641f64185abee83f9a6e65f0b380682
- https://git.kernel.org/stable/c/e03db7c1255ebabba5e1a447754faeb138de15a2
- https://git.kernel.org/stable/c/b628510397b5cafa1f5d3e848a28affd1c635302
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.