CVE-2024-36926
📋 TL;DR
A NULL pointer dereference vulnerability in the Linux kernel's powerpc/pseries/iommu code causes kernel panics during system boot when a frozen PCI Express endpoint (PE) lacks the required ibm,dma-window property. This affects Linux systems running on IBM PowerPC pSeries hardware with specific firmware conditions. The vulnerability leads to denial of service during boot but doesn't allow arbitrary code execution.
💻 Affected Systems
- Linux kernel
📦 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 →⚠️ Risk & Real-World Impact
Worst Case
System fails to boot completely, requiring physical intervention or system reinitialization to recover.
Likely Case
Boot failure or kernel panic during system startup when encountering a frozen PCI device.
If Mitigated
System boots normally with proper kernel patching or workarounds.
🎯 Exploit Status
Exploitation requires specific hardware/firmware conditions and physical/administrative access to trigger during boot. Not remotely exploitable.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions with commits 2bed905a72485a2b79a001bd7e66c750942d2155 or related fixes
Vendor Advisory: https://git.kernel.org/stable/c/2bed905a72485a2b79a001bd7e66c750942d2155
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version. 2. For distributions: Use package manager (yum update kernel, apt-get update && apt-get upgrade). 3. Rebuild kernel if using custom build. 4. Reboot system.
🔧 Temporary Workarounds
Remove or disable frozen PCI device
linuxPhysically remove or firmware-disable the frozen PCI Express endpoint causing the issue
Check PCI devices: lspci
Use firmware tools to disable problematic device
System reinitialization
linuxPerform full system reinitialization to clear frozen PE state (requires downtime)
System-specific firmware reinitialization procedures
🧯 If You Can't Patch
- Avoid rebooting vulnerable systems unless absolutely necessary
- Ensure proper environmental controls to prevent hardware errors that could freeze PCI devices
🔍 How to Verify
Check if Vulnerable:
Check kernel version and if running on IBM PowerPC pSeries hardware. Examine dmesg for PCI initialization errors during boot.
Check Version:
uname -r
Verify Fix Applied:
Check kernel version includes fix commits. Test system reboot to ensure no kernel panics during PCI bus initialization.
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages during boot
- NULL pointer dereference in pci_dma_bus_setup_pSeriesLP
- PCI bus initialization failures
Network Indicators:
- None - local boot issue
SIEM Query:
source="kernel" AND ("NULL pointer dereference" OR "pci_dma_bus_setup_pSeriesLP" OR "BUG: Kernel NULL pointer dereference")
🔗 References
- https://git.kernel.org/stable/c/2bed905a72485a2b79a001bd7e66c750942d2155
- https://git.kernel.org/stable/c/49a940dbdc3107fecd5e6d3063dc07128177e058
- https://git.kernel.org/stable/c/7fb5793c53f8c024e3eae9f0d44eb659aed833c4
- https://git.kernel.org/stable/c/802b13b79ab1fef66c6852fc745cf197dca0cb15
- https://git.kernel.org/stable/c/2bed905a72485a2b79a001bd7e66c750942d2155
- https://git.kernel.org/stable/c/49a940dbdc3107fecd5e6d3063dc07128177e058
- https://git.kernel.org/stable/c/7fb5793c53f8c024e3eae9f0d44eb659aed833c4
- https://git.kernel.org/stable/c/802b13b79ab1fef66c6852fc745cf197dca0cb15