CVE-2024-56778
📋 TL;DR
This CVE involves a Linux kernel vulnerability in the STI DRM driver where the drm_atomic_get_crtc_state() function's return value isn't properly checked before use. This could allow an attacker to trigger a kernel panic or system crash by exploiting the error pointer dereference. Systems using affected Linux kernel versions with STI DRM driver enabled are vulnerable.
💻 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 →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 denial of service, potentially causing system instability or crashes that require physical intervention to restore service.
Likely Case
Local denial of service through kernel panic when specific graphics operations are performed, requiring system reboot to recover.
If Mitigated
No impact if the vulnerable driver is not loaded or if the system is patched.
🎯 Exploit Status
Requires local access and ability to trigger the vulnerable code path through graphics operations. Likely requires user interaction or specific application behavior.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Patched in stable kernel commits: 31c857e7496d34e5a32a6f75bc024d0b06fd646a, 6b0d0d6e9d3c26697230bf7dc9e6b52bdb24086f, 82a5312f874fb18f045d9658e9bd290e3b0621c0, 837eb99ad3340c7a9febf454f41c8e3edb68ac1e, c1ab40a1fdfee732c7e6ff2fb8253760293e47e8
Vendor Advisory: https://git.kernel.org/stable/c/31c857e7496d34e5a32a6f75bc024d0b06fd646a
Restart Required: Yes
Instructions:
1. Update Linux kernel to version containing the fix commits. 2. For distributions: Use package manager (apt/yum/dnf) to update kernel package. 3. Reboot system to load patched kernel.
🔧 Temporary Workarounds
Disable STI DRM driver
linuxPrevent loading of the vulnerable driver module
echo 'blacklist sti' >> /etc/modprobe.d/blacklist.conf
rmmod sti
🧯 If You Can't Patch
- Restrict local user access to systems where STI DRM driver is required
- Implement strict privilege separation and limit user ability to perform graphics operations
🔍 How to Verify
Check if Vulnerable:
Check if STI DRM driver is loaded: lsmod | grep sti. If loaded and kernel version is before fix commits, system is vulnerable.
Check Version:
uname -r
Verify Fix Applied:
Check kernel version includes fix commits: uname -r and verify against distribution's patched kernel version. Confirm STI driver still functions properly.
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages in /var/log/kern.log or dmesg
- System crash/reboot events without clear cause
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kernel" AND ("panic" OR "Oops" OR "BUG") AND process="sti_hqvdp"
🔗 References
- https://git.kernel.org/stable/c/31c857e7496d34e5a32a6f75bc024d0b06fd646a
- https://git.kernel.org/stable/c/6b0d0d6e9d3c26697230bf7dc9e6b52bdb24086f
- https://git.kernel.org/stable/c/82a5312f874fb18f045d9658e9bd290e3b0621c0
- https://git.kernel.org/stable/c/837eb99ad3340c7a9febf454f41c8e3edb68ac1e
- https://git.kernel.org/stable/c/c1ab40a1fdfee732c7e6ff2fb8253760293e47e8
- https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html