CVE-2024-47666

5.5 MEDIUM

📋 TL;DR

A use-after-free vulnerability in the Linux kernel's pm80xx SCSI driver allows kernel crashes when late PHY control responses trigger completion on a dangling stack pointer. This affects Linux systems using the pm80xx driver for SAS/SATA controllers. Attackers could cause denial-of-service by triggering the race condition.

💻 Affected Systems

Products:
  • Linux kernel with pm80xx driver
Versions: Linux kernel versions before the fix commits (specific versions vary by distribution)
Operating Systems: Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using pm80xx driver for PMC-Sierra 8000 series SAS/SATA controllers. Not all Linux systems have this driver loaded.

📦 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 restore functionality.

🟠

Likely Case

System instability or crash when using pm80xx driver with specific timing conditions during PHY resets.

🟢

If Mitigated

No impact if patched or if pm80xx driver is not in use.

🌐 Internet-Facing: LOW - Requires local access or ability to trigger specific SCSI operations.
🏢 Internal Only: MEDIUM - Could be exploited by local users or through other vulnerabilities to cause system crashes.

🎯 Exploit Status

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

Requires local access and ability to trigger PHY control operations with specific timing. Race condition exploitation can be challenging.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in kernel commits: 7b1d779647afaea9185fa2f150b1721e7c1aae89, a5d954802bda1aabcba49633cd94bad91c94113f, ddc501f4130f4baa787cb6cfa309af697179f475, e23ee0cc5bded07e700553aecc333bb20c768546, e4f949ef1516c0d74745ee54a0f4882c1f6c7aea

Vendor Advisory: https://git.kernel.org/stable/c/7b1d779647afaea9185fa2f150b1721e7c1aae89

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. Check distribution-specific security advisories. 3. Reboot system to load patched kernel.

🔧 Temporary Workarounds

Disable pm80xx driver

linux

Blacklist or prevent loading of the vulnerable pm80xx driver

echo 'blacklist pm80xx' >> /etc/modprobe.d/blacklist-pm80xx.conf
update-initramfs -u
reboot

🧯 If You Can't Patch

  • Monitor system logs for kernel crashes or panics related to pm80xx
  • Restrict local user access to systems using pm80xx driver

🔍 How to Verify

Check if Vulnerable:

Check if pm80xx module is loaded: lsmod | grep pm80xx. Check kernel version against distribution security advisories.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fix commits. Check dmesg for pm80xx-related errors after driver operations.

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages
  • Oops messages in dmesg
  • pm80xx driver errors in system logs

Network Indicators:

  • None - local vulnerability

SIEM Query:

source="kernel" AND ("pm80xx" OR "kernel panic" OR "Oops")

🔗 References

📤 Share & Export