Skip to main content

CVE-2024-41094: Vulnerability in Linux Linux

High
VulnerabilityCVE-2024-41094cvecve-2024-41094
Published: Mon Jul 29 2024 (07/29/2024, 15:48:07 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

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 does not come from vmalloc(). Setting struct fb_info.fix.smem_start breaks systems where DMA memory is backed by vmalloc address space. An example error is shown below. [ 3.536043] ------------[ cut here ]------------ [ 3.540716] virt_to_phys used for non-linear address: 000000007fc4f540 (0xffff800086001000) [ 3.552628] WARNING: CPU: 4 PID: 61 at arch/arm64/mm/physaddr.c:12 __virt_to_phys+0x68/0x98 [ 3.565455] Modules linked in: [ 3.568525] CPU: 4 PID: 61 Comm: kworker/u12:5 Not tainted 6.6.23-06226-g4986cc3e1b75-dirty #250 [ 3.577310] Hardware name: NXP i.MX95 19X19 board (DT) [ 3.582452] Workqueue: events_unbound deferred_probe_work_func [ 3.588291] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 3.595233] pc : __virt_to_phys+0x68/0x98 [ 3.599246] lr : __virt_to_phys+0x68/0x98 [ 3.603276] sp : ffff800083603990 [ 3.677939] Call trace: [ 3.680393] __virt_to_phys+0x68/0x98 [ 3.684067] drm_fbdev_dma_helper_fb_probe+0x138/0x238 [ 3.689214] __drm_fb_helper_initial_config_and_unlock+0x2b0/0x4c0 [ 3.695385] drm_fb_helper_initial_config+0x4c/0x68 [ 3.700264] drm_fbdev_dma_client_hotplug+0x8c/0xe0 [ 3.705161] drm_client_register+0x60/0xb0 [ 3.709269] drm_fbdev_dma_setup+0x94/0x148 Additionally, DMA memory is assumed to by contiguous in physical address space, which is not guaranteed by vmalloc(). Resolve this by checking the module flag drm_leak_fbdev_smem when DRM allocated the instance of struct fb_info. Fbdev-dma then only sets smem_start only if required (via FBINFO_HIDE_SMEM_START). Also guarantee that the framebuffer is not located in vmalloc address space.

AI-Powered Analysis

AILast updated: 06/29/2025, 04:39:49 UTC

Technical Analysis

CVE-2024-41094 is a vulnerability identified in the Linux kernel's Direct Rendering Manager (DRM) framebuffer device (fbdev) DMA handling code. Specifically, the issue arises from improper handling of the smem_start field within the struct fb_info.fix, which represents the start of the framebuffer memory. The vulnerability occurs because the kernel code unconditionally sets smem_start even when the framebuffer memory is backed by vmalloc address space, which is non-contiguous in physical memory. This leads to incorrect assumptions about the physical contiguity of DMA memory, causing kernel warnings and potential system instability or crashes. The error manifests as a warning triggered by the __virt_to_phys function when it is called on a non-linear vmalloc address, which is invalid. This can break systems where DMA memory is backed by vmalloc, such as certain ARM64 platforms (e.g., NXP i.MX95 boards). The fix involves introducing a module flag drm_leak_fbdev_smem that controls whether smem_start is set, only doing so when required and ensuring the framebuffer is not located in vmalloc space. This prevents the kernel from making invalid assumptions about physical memory layout and avoids the associated crashes or undefined behavior. The vulnerability affects Linux kernel versions containing the specified commit hashes and was published on July 29, 2024. No known exploits are currently reported in the wild, and no CVSS score has been assigned yet.

Potential Impact

For European organizations, this vulnerability primarily threatens systems running Linux kernels with DRM fbdev DMA support, especially embedded or specialized hardware platforms using ARM64 architectures or similar configurations where framebuffer memory may be vmalloc-backed. The impact includes potential kernel panics, system instability, or denial of service due to improper memory handling in the graphics subsystem. This can disrupt critical services relying on Linux-based embedded devices, industrial control systems, or specialized computing platforms common in sectors like manufacturing, telecommunications, and transportation. While the vulnerability does not directly expose confidentiality or integrity risks, the availability impact can be significant, particularly for infrastructure relying on stable Linux kernel operation. Organizations using custom or older Linux kernels without the patch may experience unexpected crashes or degraded performance. The lack of known exploits reduces immediate risk, but the complexity of the issue means that unpatched systems remain vulnerable to accidental or triggered failures, which can have operational and financial consequences.

Mitigation Recommendations

1. Apply the official Linux kernel patches that address CVE-2024-41094 as soon as they become available from trusted sources or distributions. 2. For organizations maintaining custom Linux kernels, ensure the drm_leak_fbdev_smem module flag is correctly implemented and that framebuffer memory is not allocated from vmalloc space. 3. Conduct thorough testing of kernel updates in staging environments, especially on ARM64 or embedded platforms, to verify that the fix does not introduce regressions. 4. Monitor kernel logs for warnings related to __virt_to_phys and drm_fbdev_dma to detect potential exploitation or system instability. 5. Where possible, avoid configurations that rely on vmalloc-backed DMA memory for framebuffer devices or migrate to newer DRM subsystems that do not use fbdev-dma. 6. Maintain up-to-date backups and incident response plans to quickly recover from potential denial-of-service conditions caused by this vulnerability. 7. Collaborate with hardware vendors to ensure firmware and drivers are compatible with patched kernel versions.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-07-12T12:17:45.637Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9827c4522896dcbe18be

Added to database: 5/21/2025, 9:08:55 AM

Last enriched: 6/29/2025, 4:39:49 AM

Last updated: 8/15/2025, 3:03:50 AM

Views: 13

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats