CVE-2024-56669

7.8 HIGH

📋 TL;DR

A use-after-free vulnerability in the Linux kernel's Intel IOMMU driver (VT-d) can cause kernel crashes when cache tags aren't properly cleaned before disabling Address Translation Services (ATS). This affects systems using PCI passthrough with multiple Virtual Functions from different Physical Functions to a single user-space process via vfio-pci.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Versions up to and including 6.11.9 (specific affected range not fully documented, but includes 6.11.9)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when using vfio-pci with multiple Virtual Functions from different Physical Functions passed through to a single user-space process.

📦 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 corruption in active processes.

🟠

Likely Case

System crash when using specific vfio-pci configurations with multiple VFs from different PFs, resulting in denial of service.

🟢

If Mitigated

No impact if not using affected vfio-pci configurations or if patched.

🌐 Internet-Facing: LOW - This is a kernel-level issue requiring specific local configurations, not directly exploitable over network.
🏢 Internal Only: MEDIUM - Affects systems using PCI passthrough in virtualization environments, which are typically internal infrastructure.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: HIGH - Requires specific vfio-pci configuration and local access

Exploitation requires triggering the specific code path through vfio-pci operations with multiple VFs.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in kernel commits 1f2557e08a617a4b5e92a48a1a9a6f86621def18 and 9a0a72d3ed919ebe6491f527630998be053151d8

Vendor Advisory: https://git.kernel.org/stable/c/1f2557e08a617a4b5e92a48a1a9a6f86621def18

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix. 2. Check with your distribution for backported patches. 3. Reboot system after kernel update.

🔧 Temporary Workarounds

Avoid vulnerable vfio-pci configuration

linux

Do not pass multiple Virtual Functions from different Physical Functions to a single user-space process via vfio-pci

🧯 If You Can't Patch

  • Avoid using vfio-pci with multiple VFs from different PFs to single processes
  • Monitor systems for kernel crashes related to vfio_iommu_type1 or cache_tag_flush_range

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if using vfio-pci with multiple VFs from different PFs: uname -r and check /sys/bus/pci/drivers/vfio-pci/

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fix commits: grep -q '1f2557e08a617a4b5e92a48a1a9a6f86621def18\|9a0a72d3ed919ebe6491f527630998be053151d8' /proc/version_signature || echo 'Check kernel changelog'

📡 Detection & Monitoring

Log Indicators:

  • Kernel NULL pointer dereference errors
  • Oops messages mentioning cache_tag_flush_range
  • vfio_iommu_type1 related crashes in dmesg

SIEM Query:

source="kernel" AND ("cache_tag_flush_range" OR "vfio_iommu_type1" OR "NULL pointer dereference")

🔗 References

📤 Share & Export