CVE-2024-36973

7.8 HIGH

📋 TL;DR

This CVE describes a double-free vulnerability in the Linux kernel's microchip PCI1XXXX driver. When the gp_aux_bus_probe() function fails during auxiliary device initialization, it incorrectly attempts to free memory that has already been freed by the cleanup callback, potentially leading to memory corruption. This affects systems using the affected microchip driver in the Linux kernel.

💻 Affected Systems

Products:
  • Linux kernel with microchip PCI1XXXX driver
Versions: Kernel versions containing the vulnerable code before the fix commits
Operating Systems: Linux
Default Config Vulnerable: ✅ No
Notes: Only vulnerable if the microchip PCI1XXXX driver is loaded and the specific gp_aux_bus_probe() error path is triggered.

📦 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, system crash, or potential privilege escalation leading to full system compromise if an attacker can trigger the double-free and control subsequent memory allocations.

🟠

Likely Case

System instability, kernel crashes, or denial of service affecting devices using the vulnerable microchip PCI1XXXX driver.

🟢

If Mitigated

Limited impact if the vulnerable driver isn't loaded or the specific error path isn't triggered during normal operation.

🌐 Internet-Facing: LOW - This is a kernel driver vulnerability requiring local access or specific hardware interaction.
🏢 Internal Only: MEDIUM - Could be exploited by malicious local users or through other vulnerabilities that provide kernel access.

🎯 Exploit Status

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

Exploitation requires triggering a specific error condition in the driver initialization, which may require local access or specific hardware conditions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in kernel commits: 086c6cbcc563c81d55257f9b27e14faf1d0963d3, 1efe551982297924d05a367aa2b6ec3d275d5742, 34ae447b138680b5ed3660f7d935ff3faf88ba1a, 86c9713602f786f441630c4ee02891987f8618b9

Vendor Advisory: https://git.kernel.org/stable/c/086c6cbcc563c81d55257f9b27e14faf1d0963d3

Restart Required: Yes

Instructions:

1. Update to a Linux kernel version containing the fix commits. 2. Reboot the system to load the patched kernel. 3. Verify the driver is functioning correctly after update.

🔧 Temporary Workarounds

Disable vulnerable driver

linux

Prevent loading of the microchip PCI1XXXX driver if not required

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

🧯 If You Can't Patch

  • Ensure strict access controls to prevent unauthorized local users from interacting with the driver
  • Monitor system logs for kernel panics or crashes related to the microchip driver

🔍 How to Verify

Check if Vulnerable:

Check if the microchip PCI1XXXX driver is loaded: lsmod | grep pci1xxxx. If loaded, check kernel version against patched versions.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes the fix commits and the driver loads without errors in dmesg.

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages
  • Oops messages in dmesg
  • Driver initialization failures

SIEM Query:

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

🔗 References

📤 Share & Export