CVE-2024-56538

7.8 HIGH

📋 TL;DR

This Linux kernel vulnerability in the ZynqMP KMS driver allows use-after-free conditions when userspace accesses a DRM device during removal. Attackers could potentially crash the system or execute arbitrary code. Systems using affected Linux kernel versions with the zynqmp_kms driver are vulnerable.

💻 Affected Systems

Products:
  • Linux kernel with zynqmp_kms driver
Versions: Linux kernel versions before the fix commits (specific versions depend on distribution backports)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only systems using Xilinx Zynq UltraScale+ MPSoC with the zynqmp_kms DRM driver enabled are affected. Most general-purpose Linux systems are not vulnerable.

📦 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, system crash, or potential arbitrary code execution with kernel privileges leading to complete system compromise.

🟠

Likely Case

System instability, crashes, or denial of service affecting graphical functionality.

🟢

If Mitigated

Userspace applications receive errors when accessing the device but no memory corruption occurs.

🌐 Internet-Facing: LOW - This requires local access to the system and interaction with the DRM subsystem.
🏢 Internal Only: MEDIUM - Local attackers or malicious users could exploit this to cause system instability or potentially escalate privileges.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires local access and knowledge of DRM subsystem interactions. The vulnerability is in device removal handling.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel with commits 2e07c88914fc5289c21820b1aa94f058feb38197, 4fb97432e28a7e136b2d76135d50e988ada8e1af, 692f52aedccbf79b212a1e14e3735192b4c24a7d, a17b9afe58c474657449cf87e238b1788200576b

Vendor Advisory: https://git.kernel.org/stable/c/2e07c88914fc5289c21820b1aa94f058feb38197

Restart Required: Yes

Instructions:

1. Update to a patched Linux kernel version from your distribution vendor. 2. Reboot the system to load the new kernel. 3. Verify the kernel version after reboot.

🔧 Temporary Workarounds

Disable zynqmp_kms module

linux

Prevent loading of the vulnerable kernel module if not required

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

🧯 If You Can't Patch

  • Restrict local user access to systems using the vulnerable driver
  • Monitor system logs for crashes or unusual DRM-related activity

🔍 How to Verify

Check if Vulnerable:

Check if zynqmp_kms module is loaded: lsmod | grep zynqmp_kms. Check kernel version against patched versions.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes the fix commits. Check that zynqmp_kms module functions normally without crashes.

📡 Detection & Monitoring

Log Indicators:

  • Kernel oops messages
  • DRM subsystem errors
  • System crashes during graphics operations

SIEM Query:

source="kernel" AND ("zynqmp_kms" OR "DRM" OR "use-after-free")

🔗 References

📤 Share & Export