CVE-2024-56689

5.5 MEDIUM

📋 TL;DR

A NULL pointer dereference vulnerability in the Linux kernel's PCI endpoint MHI driver allows local attackers to cause a kernel panic (denial of service) by triggering a specific code path when Device Tree lacks 'mmio' property. This affects systems using the affected kernel versions with PCI endpoint MHI functionality enabled.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific affected versions not explicitly stated in CVE, but patches available in stable kernel trees
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when PCI endpoint MHI driver (epf-mhi) is loaded and Device Tree lacks 'mmio' property for MHI endpoint.

📦 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

Kernel panic leading to system crash and denial of service, potentially causing data loss or service disruption.

🟠

Likely Case

Local denial of service through kernel panic when specific PCI endpoint MHI configuration is accessed.

🟢

If Mitigated

No impact if the vulnerable driver is not loaded or the specific configuration path is not triggered.

🌐 Internet-Facing: LOW - Requires local access to trigger, not remotely exploitable.
🏢 Internal Only: MEDIUM - Local attackers or misconfigured applications could trigger the kernel panic.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW - Simple NULL pointer dereference once the vulnerable code path is triggered.

Requires local access and ability to trigger the specific PCI endpoint MHI code path.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Patches available in stable kernel trees (commits: 0e6d92e3b973de78eb7015154cf1197af9fac5c9, 242ee2b0ad9b23f47084904fce3f9f228068a1f9, 5089b3d874e9933d9842e90410d3af1520494757, c8b9d6b7d62a444e0bca5b9ae28f9f2b0f52feef)

Vendor Advisory: https://git.kernel.org/stable/c/0e6d92e3b973de78eb7015154cf1197af9fac5c9

Restart Required: Yes

Instructions:

1. Update to patched kernel version from your distribution's repositories. 2. Rebuild kernel if using custom kernel. 3. Reboot system to load patched kernel.

🔧 Temporary Workarounds

Disable PCI endpoint MHI driver

linux

Prevent loading of the vulnerable epf-mhi driver module

echo 'blacklist epf_mhi' >> /etc/modprobe.d/blacklist.conf
rmmod epf_mhi

🧯 If You Can't Patch

  • Ensure Device Tree includes proper 'mmio' property for MHI endpoints
  • Restrict local access to prevent triggering the vulnerable code path

🔍 How to Verify

Check if Vulnerable:

Check if epf_mhi module is loaded: lsmod | grep epf_mhi

Check Version:

uname -r

Verify Fix Applied:

Check kernel version is patched: uname -r and verify against distribution's security advisories

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages in /var/log/kern.log or dmesg
  • NULL pointer dereference errors in kernel logs

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("NULL pointer dereference" OR "kernel panic" OR "epf_mhi")

🔗 References

📤 Share & Export