CVE-2024-58084

5.5 MEDIUM

📋 TL;DR

This CVE describes a missing read memory barrier in the Linux kernel's Qualcomm SCM firmware driver, specifically in the qcom_scm_get_tzmem_pool() function. The vulnerability could allow concurrent processes to read a stale NULL value from the '__scm' global variable, leading to a NULL pointer dereference and kernel crash. This affects Linux systems using Qualcomm hardware with the vulnerable driver.

💻 Affected Systems

Products:
  • Linux kernel with Qualcomm SCM firmware driver
Versions: Kernel versions containing commit 2e4955167ec5 up to the fix commits
Operating Systems: Linux distributions running on Qualcomm hardware
Default Config Vulnerable: ⚠️ Yes
Notes: Requires Qualcomm hardware with SCM firmware support enabled. The vulnerability only triggers when multiple processes concurrently access the qcom_scm_get_tzmem_pool() function.

📦 What is this software?

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel panic leading to system crash and denial of service, potentially requiring physical access to restart affected devices.

🟠

Likely Case

System instability or crashes under specific concurrent access conditions to the SCM firmware interface.

🟢

If Mitigated

Minimal impact if systems are not heavily utilizing the affected SCM functions or have proper isolation.

🌐 Internet-Facing: LOW - This is a kernel-level vulnerability requiring local access or code execution to trigger.
🏢 Internal Only: MEDIUM - Local attackers or malicious processes could potentially crash the kernel, affecting system availability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires local access and ability to trigger concurrent access to the vulnerable function. No public exploits have been reported.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in kernel commits b628510397b5cafa1f5d3e848a28affd1c635302, e03db7c1255ebabba5e1a447754faeb138de15a2, fee921e3c641f64185abee83f9a6e65f0b380682

Vendor Advisory: https://git.kernel.org/stable/c/b628510397b5cafa1f5d3e848a28affd1c635302

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. For distributions: Apply kernel security updates from your vendor. 3. Reboot system to load patched kernel.

🔧 Temporary Workarounds

Disable SCM firmware driver

linux

Remove or blacklist the qcom_scm driver if not required for system functionality

echo 'blacklist qcom_scm' >> /etc/modprobe.d/blacklist.conf
rmmod qcom_scm

🧯 If You Can't Patch

  • Restrict local user access to prevent malicious code execution
  • Implement strict process isolation and resource limits to reduce concurrent access scenarios

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if qcom_scm module is loaded: lsmod | grep qcom_scm && uname -r

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fix commits or check with distribution's security advisory

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages
  • NULL pointer dereference errors in kernel logs
  • System crash/reboot events

Network Indicators:

  • None - this is a local kernel vulnerability

SIEM Query:

source="kernel" AND ("NULL pointer dereference" OR "qcom_scm" OR "kernel panic")

🔗 References

📤 Share & Export