CVE-2024-46691

5.5 MEDIUM

📋 TL;DR

This CVE addresses a NULL pointer dereference vulnerability in the Linux kernel's USB Type-C UCSI driver. The issue occurs when unregistering UCSI during system shutdown or driver removal, potentially causing a kernel panic or system crash. It affects Linux systems using Qualcomm PMIC GLINK communication with USB Type-C controllers.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Kernel versions with commit 9329933699b3 up to fixes in 095b0001aefddcd9361097c971b7debc84e72714 and 11bb2ffb679399f99041540cf662409905179e3a
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with Qualcomm PMIC GLINK hardware and USB Type-C UCSI functionality enabled.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel panic leading to system crash and denial of service, potentially requiring physical reboot.

🟠

Likely Case

System instability during shutdown or driver removal, with kernel log errors but no persistent damage.

🟢

If Mitigated

Minor kernel log errors during shutdown with no functional impact when proper scheduling is implemented.

🌐 Internet-Facing: LOW - Requires local access to trigger via driver operations.
🏢 Internal Only: MEDIUM - Could be triggered by privileged users or during system maintenance operations.

🎯 Exploit Status

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

Requires triggering UCSI unregistration during specific timing windows, typically during system shutdown or driver removal.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel commits 095b0001aefddcd9361097c971b7debc84e72714 and 11bb2ffb679399f99041540cf662409905179e3a

Vendor Advisory: https://git.kernel.org/stable/c/095b0001aefddcd9361097c971b7debc84e72714

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing fixes 095b0001aefddcd9361097c971b7debc84e72714 and 11bb2ffb679399f99041540cf662409905179e3a. 2. Reboot system to load new kernel.

🔧 Temporary Workarounds

Disable UCSI functionality

linux

Remove or disable USB Type-C UCSI driver if not required

modprobe -r ucsi_glink
echo 'blacklist ucsi_glink' > /etc/modprobe.d/disable-ucsi.conf

🧯 If You Can't Patch

  • Avoid system shutdowns or driver removal operations on affected systems
  • Monitor kernel logs for UCSI errors and restart affected services if errors appear

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if UCSI GLINK driver is loaded: 'uname -r' and 'lsmod | grep ucsi_glink'

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fixes and check kernel logs for absence of 'failed to send UCSI write request: -5' errors

📡 Detection & Monitoring

Log Indicators:

  • Kernel log entries containing: 'failed to send UCSI write request: -5'
  • System crash logs during shutdown

Network Indicators:

  • None - local kernel vulnerability

SIEM Query:

source="kernel" AND "failed to send UCSI write request: -5"

🔗 References

📤 Share & Export