CVE-2024-46824

5.5 MEDIUM

📋 TL;DR

A NULL pointer dereference vulnerability in the Linux kernel's iommufd subsystem allows local attackers to cause a kernel panic (denial of service) when attempting to invalidate IOMMU page table caches. This affects systems using iommufd with drivers that don't implement the required cache_invalidate_user operation. The vulnerability requires local access to the system.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Linux kernel versions containing the vulnerable iommufd code (specifically around 6.8.0-rc7 and related versions)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when using iommufd with drivers that don't implement cache_invalidate_user ops. Most existing drivers implement this, making it primarily a bisection aid issue.

📦 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 →

⚠️ Risk & Real-World Impact

🔴

Worst Case

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

🟠

Likely Case

Local denial of service through kernel panic when privileged users or processes trigger the invalidate ioctl on affected configurations.

🟢

If Mitigated

No impact if proper access controls prevent local users from executing the vulnerable ioctl or if affected drivers aren't used.

🌐 Internet-Facing: LOW - Requires local access to exploit, not remotely exploitable.
🏢 Internal Only: MEDIUM - Local users with appropriate privileges can cause denial of service, but requires specific driver configurations.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: LOW - Simple local trigger of the vulnerable ioctl.

Exploitation requires local access and ability to trigger the invalidate ioctl. The vulnerability was discovered during development/bisection.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Patched in kernel commits 89827a4de802765b1ebb401fc1e73a90108c7520 and a11dda723c6493bb1853bbc61c093377f96e2d47

Vendor Advisory: https://git.kernel.org/stable/c/89827a4de802765b1ebb401fc1e73a90108c7520

Restart Required: Yes

Instructions:

1. Update to a kernel version containing the fix commits. 2. Reboot the system to load the new kernel. 3. Verify the fix is applied by checking kernel version.

🔧 Temporary Workarounds

Disable iommufd if not needed

linux

Remove or disable iommufd module if not required for system functionality

modprobe -r iommufd
echo 'blacklist iommufd' >> /etc/modprobe.d/blacklist.conf

Restrict access to ioctl

linux

Use security modules or access controls to restrict which users can execute the vulnerable ioctl

🧯 If You Can't Patch

  • Ensure only trusted users have local access to affected systems
  • Monitor for kernel panic events and investigate any unauthorized local access attempts

🔍 How to Verify

Check if Vulnerable:

Check if system is using an affected kernel version and has iommufd loaded: uname -r && lsmod | grep iommufd

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes the fix commits or is newer than affected versions

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic logs mentioning 'iommufd_hwpt_invalidate' or NULL pointer dereference
  • System crash/reboot events following ioctl operations

Network Indicators:

  • No network indicators - local exploit only

SIEM Query:

event_type:kernel_panic AND message:"iommufd" OR "NULL pointer dereference"

🔗 References

📤 Share & Export