Critical Vulnerability in Linux Kernel: drm/fbdev-dma Memory Management Issue
Summary
DEBIAN-CVE-2024-41094: In the Linux kernel, the following vulnerability has been resolved: drm/fbdev-dma: Only set smem_start is enable per module option Only export struct fb_info.fix.smem_start if that is required by the user and the memory... Affects linux versions < 6.9.8-1. Fixed in 6.9.8-1. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
The Linux kernel is the core component of many operating systems, providing essential services for hardware management and system operations. It supports a wide range of functionalities, including process management, memory management, and device control. The kernel is modular, allowing for the addition of various drivers and subsystems. This vulnerability specifically affects the framebuffer device (fbdev) and its handling of Direct Memory Access (DMA) memory, which can lead to system instability and potential data corruption.
Vulnerability Detail
In the Linux kernel, a vulnerability has been identified in the drm/fbdev-dma module, where the struct fb_info.fix.smem_start is incorrectly set when it should not be. This occurs when memory is allocated from vmalloc(), which can lead to non-linear address space issues. The improper handling of this memory can cause system crashes and warnings, particularly on systems where DMA memory is expected to be contiguous in physical address space. The vulnerability arises from the failure to check the module flag drm_leak_fbdev_smem before setting smem_start, which can lead to significant operational issues.
How To Fix
Minimum fixed version
6.9.8-1
This is the first release that contains the fix.
sudo apt-get install --only-upgrade linux
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
As a temporary workaround, you can disable the framebuffer device or avoid using DMA memory that is backed by vmalloc() until the package is updated. This can be done by modifying the kernel boot parameters or by configuring the device drivers accordingly.
Conclusion
The vulnerability in the Linux kernel's drm/fbdev-dma module poses significant risks to system stability and data integrity. It is crucial for users to update their systems to the patched version to mitigate these risks. Temporary workarounds can be employed until the update is applied, and users are encouraged to utilize tools like Vulert to monitor for vulnerabilities in their applications.
See every vulnerability recorded for linux →
FAQ
The vulnerability can lead to system crashes and instability, particularly in environments that rely on DMA memory management.
You can use the Vulert playground at Vulert Scanner to check if your application is affected by this vulnerability without any signup.
If an immediate update is not possible, consider disabling the framebuffer device or avoiding the use of DMA memory backed by vmalloc() as a temporary measure.
Yes, the vulnerability is fixed in version 6.9.8-1 and later of the Linux package.
Detailed information can be found in the Debian CVE database at https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2024-41094.json.
References
Related vulnerabilities
Recent vulnerabilities recorded for linux.