CVE-2024-36973
📋 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
- Linux kernel with microchip PCI1XXXX driver
📦 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.
🎯 Exploit Status
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
linuxPrevent 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
- https://git.kernel.org/stable/c/086c6cbcc563c81d55257f9b27e14faf1d0963d3
- https://git.kernel.org/stable/c/1efe551982297924d05a367aa2b6ec3d275d5742
- https://git.kernel.org/stable/c/34ae447b138680b5ed3660f7d935ff3faf88ba1a
- https://git.kernel.org/stable/c/86c9713602f786f441630c4ee02891987f8618b9
- https://git.kernel.org/stable/c/086c6cbcc563c81d55257f9b27e14faf1d0963d3
- https://git.kernel.org/stable/c/1efe551982297924d05a367aa2b6ec3d275d5742
- https://git.kernel.org/stable/c/34ae447b138680b5ed3660f7d935ff3faf88ba1a
- https://git.kernel.org/stable/c/86c9713602f786f441630c4ee02891987f8618b9
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html