CVE-2024-46693

4.7 MEDIUM

📋 TL;DR

A race condition vulnerability in Linux kernel's Qualcomm PMIC Glink drivers allows NULL pointer dereference during initialization. This can cause kernel panics or system crashes on affected devices. The vulnerability affects Linux systems with Qualcomm PMIC Glink drivers, particularly those using protection domain registry functionality.

💻 Affected Systems

Products:
  • Linux kernel with Qualcomm PMIC Glink drivers (pmic_glink, altmode, battery manager, UCSI)
Versions: Linux kernel versions with commit 1ebcde047c54 ('soc: qcom: add pd-mapper implementation') up to fix commits
Operating Systems: Linux distributions with affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires Qualcomm PMIC Glink drivers to be loaded and protection domain registry functionality to be present/active.

📦 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 →

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 →

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 →

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 restart of affected devices.

🟠

Likely Case

System instability or crashes during driver initialization, particularly on devices with protection domain registry enabled.

🟢

If Mitigated

Minor system instability during boot or driver initialization that may self-recover or require restart.

🌐 Internet-Facing: LOW - This is a local kernel driver vulnerability requiring local access or specific driver interaction.
🏢 Internal Only: MEDIUM - Could affect device stability in enterprise environments with affected Linux systems, particularly embedded/IoT devices.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: HIGH

Exploitation requires precise timing during driver initialization and specific system configuration. No known public exploits.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in kernel commits: 1efdbf5323c9360e05066049b97414405e94e087, 3568affcddd68743e25aa3ec1647d9b82797757b, 943b0e7cc646a624bb20a68080f8f1a4a55df41c

Vendor Advisory: https://git.kernel.org/stable/c/1efdbf5323c9360e05066049b97414405e94e087

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing fix commits. 2. Rebuild kernel if compiling from source. 3. Reboot system to load patched kernel.

🔧 Temporary Workarounds

Disable affected drivers

linux

Prevent loading of vulnerable PMIC Glink drivers if not required

echo 'blacklist pmic_glink' >> /etc/modprobe.d/blacklist.conf
echo 'blacklist pmic_glink_altmode' >> /etc/modprobe.d/blacklist.conf
echo 'blacklist pmic_glink_battery' >> /etc/modprobe.d/blacklist.conf
echo 'blacklist pmic_glink_ucsi' >> /etc/modprobe.d/blacklist.conf

🧯 If You Can't Patch

  • Monitor system logs for kernel panics related to PMIC Glink drivers
  • Implement system health monitoring with automatic recovery/restart procedures

🔍 How to Verify

Check if Vulnerable:

Check if kernel has vulnerable PMIC Glink drivers loaded: lsmod | grep -i pmic_glink

Check Version:

uname -r

Verify Fix Applied:

Check kernel version includes fix commits: uname -r and verify against patched kernel versions

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages containing 'pmic_glink'
  • NULL pointer dereference errors in dmesg
  • System crash/reboot events during driver initialization

Network Indicators:

  • None - this is a local kernel vulnerability

SIEM Query:

source="kernel" AND ("pmic_glink" OR "NULL pointer dereference")

🔗 References

📤 Share & Export