What’s Vulnerable › Vulnerabilities
CVE-2024-58091: drm/fbdev-dma: Add shadow buffering for deferred I/O
- Severity: medium (CVSS 5.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2025-03-27 · updated 2026-08-04
- Weakness: CWE-476
Description
In the Linux kernel, the following vulnerability has been resolved: drm/fbdev-dma: Add shadow buffering for deferred I/O DMA areas are not necessarily backed by struct page, so we cannot rely on it for deferred I/O. Allocate a shadow buffer for drivers that require deferred I/O and use it as framebuffer memory. Fixes driver errors about being "Unable to handle kernel NULL pointer dereference at virtual address" or "Unable to handle kernel paging request at virtual address". The patch splits drm_fbdev_dma_driver_fbdev_probe() in an initial allocation, which creates the DMA-backed buffer object, and a tail that sets up the fbdev data structures. There is a tail function for direct memory mappings and a tail function for deferred I/O with the shadow buffer. It is no longer possible to use deferred I/O without shadow buffer. It can be re-added if there exists a reliably test for usable struct page in the allocated DMA-backed buffer object.
Affected products
- Linux kernel: from 6.11 before 6.12.36; from 6.13 before 6.13.6; 6.14-rc1, 6.14-rc2, 6.14-rc3, 6.14-rc4 — fixed in 6.12.36, 6.13.6
How to fix
Upgrade to a fixed version: Linux kernel 6.12.36, 6.13.6. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/0d087de947babf7ed70029d042abcc6ed06ff415
- https://git.kernel.org/stable/c/3603996432997f7c88da37a97062a46cda01ac9d
- https://git.kernel.org/stable/c/cdc581169942de3b9e2648cfbd98c5ff9111c2c8
Get alerted when CVE-2024-58091 or the next vulnerability affects your stack