CVE-2024-27044
📋 TL;DR
This CVE describes a NULL pointer dereference vulnerability in the AMD display driver within the Linux kernel. If exploited, it could cause a kernel panic or system crash, affecting systems running vulnerable Linux kernel versions with AMD graphics hardware. The vulnerability occurs when the 'stream' pointer is accessed before being checked for NULL in the dcn10_set_output_transfer_func() function.
💻 Affected Systems
- Linux kernel with AMD GPU display driver (drm/amd/display)
📦 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 →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 system instability.
Likely Case
System crash or kernel panic requiring reboot, resulting in temporary denial of service.
If Mitigated
No impact if the vulnerable code path is not triggered or if proper input validation prevents NULL pointer access.
🎯 Exploit Status
Exploitation requires triggering the specific code path with a NULL stream pointer, which may require specific conditions or malicious input to the display subsystem.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Patches available in Linux kernel stable branches (commits: 14613d52bc7fc180df6d2c65ba65fc921fc1dda7, 29fde8895b2fcc33f44aea28c644ce2d9b62f9e0, 2d9fe7787af01188dc470a649bdbb842d6511fd7, 330caa061af53ea6d287d7c43d0703714e510e08, 6ac7c7a3a9ab57aba0fe78ecb922d2b20e16efeb)
Vendor Advisory: https://git.kernel.org/stable/c/14613d52bc7fc180df6d2c65ba65fc921fc1dda7
Restart Required: Yes
Instructions:
1. Update Linux kernel to a version containing the fix. 2. Check if your distribution has released security updates. 3. Reboot system after kernel update.
🔧 Temporary Workarounds
Disable vulnerable AMD display features
linuxPotentially disable specific AMD display features or use different graphics drivers if possible
🧯 If You Can't Patch
- Restrict local user access to systems with vulnerable kernels
- Implement monitoring for kernel panics and system crashes
🔍 How to Verify
Check if Vulnerable:
Check kernel version and verify if it contains the vulnerable code from dcn10_hwseq.c around line 1875-1892
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version is updated to include one of the fix commits, or check that the NULL pointer check occurs before dereference in dcn10_set_output_transfer_func()
📡 Detection & Monitoring
Log Indicators:
- Kernel panic logs
- System crash dumps
- AMD display driver error messages
SIEM Query:
Search for kernel panic events or system crash reports in system logs
🔗 References
- https://git.kernel.org/stable/c/14613d52bc7fc180df6d2c65ba65fc921fc1dda7
- https://git.kernel.org/stable/c/29fde8895b2fcc33f44aea28c644ce2d9b62f9e0
- https://git.kernel.org/stable/c/2d9fe7787af01188dc470a649bdbb842d6511fd7
- https://git.kernel.org/stable/c/330caa061af53ea6d287d7c43d0703714e510e08
- https://git.kernel.org/stable/c/6ac7c7a3a9ab57aba0fe78ecb922d2b20e16efeb
- https://git.kernel.org/stable/c/7874ab3105ca4657102fee1cc14b0af70883c484
- https://git.kernel.org/stable/c/9ccfe80d022df7c595f1925afb31de2232900656
- https://git.kernel.org/stable/c/e019d87e02f1e539ae48b99187f253847744ca7a
- https://git.kernel.org/stable/c/14613d52bc7fc180df6d2c65ba65fc921fc1dda7
- https://git.kernel.org/stable/c/29fde8895b2fcc33f44aea28c644ce2d9b62f9e0
- https://git.kernel.org/stable/c/2d9fe7787af01188dc470a649bdbb842d6511fd7
- https://git.kernel.org/stable/c/330caa061af53ea6d287d7c43d0703714e510e08
- https://git.kernel.org/stable/c/6ac7c7a3a9ab57aba0fe78ecb922d2b20e16efeb
- https://git.kernel.org/stable/c/7874ab3105ca4657102fee1cc14b0af70883c484
- https://git.kernel.org/stable/c/9ccfe80d022df7c595f1925afb31de2232900656
- https://git.kernel.org/stable/c/e019d87e02f1e539ae48b99187f253847744ca7a
- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html