CVE-2026-53401 Details
Description
In the Linux kernel, the following vulnerability has been resolved: fbdev: omap2: fix use-after-free in omapfb_mmap omapfb_mmap() has a race condition with OMAPFB_SETUP_PLANE ioctl that can lead to use-after-free: The fb_mmap() entry point holds mm_lock but not lock (fb_info->lock), while ioctl handlers like OMAPFB_SETUP_PLANE hold lock but not mm_lock. This allows concurrent execution. In omapfb_mmap(): 1. rg = omapfb_get_mem_region(ofbi->region); // Get old region ref 2. start = omapfb_get_region_paddr(ofbi); // Read from NEW region 3. len = fix->smem_len; // Read from NEW region 4. vm_iomap_memory(vma, start, len); // Map NEW region memory 5. atomic_inc(&rg->map_count); // Increment OLD region! Concurrently, OMAPFB_SETUP_PLANE can: - Reassign ofbi->region = new_rg - Update fix->smem_len - OMAPFB_SETUP_MEM then checks NEW region's map_count (0!) and frees it This leaves userspace with a mapping to freed physical memory. The fix is to read all required values (start, len) from the same region reference (rg) that will have its map_count incremented, preventing the region from being freed while still mapped.
A use-after-free vulnerability has been identified in the Linux kernel's OMAP2 framebuffer (fbdev) subsystem. This issue arises in the 'omapfb_mmap()' function, which handles memory mapping for framebuffer regions. The vulnerability is caused by a race condition between the 'omapfb_mmap()' function and the 'OMAPFB_SETUP_PLANE' ioctl handler. While 'omapfb_mmap()' holds the memory management lock, it does not hold the framebuffer info lock, allowing concurrent execution that can lead to memory safety issues. The vulnerability can be reproduced by mapping a framebuffer region while simultaneously issuing an ioctl command that modifies the region's metadata. This creates a scenario where the mapped memory can be freed while still in use, leaving a dangling pointer that can be exploited to access freed physical memory.
The vulnerability has been fixed by modifying the 'omapfb_mmap()' function to read all necessary values from the same memory region reference, ensuring that the reference count is properly managed. Users should upgrade to the latest version of the Linux kernel where this fix has been applied.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/6eb6ebcc8590007ad59ddccc8b5f9201655b33f8 | kernel.org | Patch |
| https://git.kernel.org/stable/c/7958e67375aa111522086286bba13cfc0816ce8d | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-416 | Use After Free | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 2.6.36, < 7.1.3 |
CPE
Remediation
| |
Change History
5 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Aug 17, 2026 | CVE Modified | kernel.org |
| Jul 29, 2026 | Initial Analysis | [email protected] |
| Jul 20, 2026 | CVE Modified | kernel.org |
| Jul 20, 2026 | CVE Modified | kernel.org |
| Jul 19, 2026 | New CVE Received | kernel.org |