Skip to main content

Linux Kernel EUVDEUVD-2026-45456

| CVE-2026-53401 HIGH
Use After Free (CWE-416)
2026-07-19 Linux GHSA-jrv4-9p26-4849
7.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.0 HIGH

Local fb-device access needed (AV:L, PR:L) and success depends on winning a narrow mmap-vs-ioctl race (AC:H); UAF yields full kernel memory read/corrupt impact (C:H/I:H/A:H).

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
7.0 HIGH
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 20, 2026 - 15:27 vuln.today
CVSS changed
Jul 20, 2026 - 15:22 NVD
7.8 (HIGH)
Patch available
Jul 19, 2026 - 14:17 EUVD
CVE Published
Jul 19, 2026 - 12:02 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 19, 2026 - 12:02 cve.org
HIGH 7.8

DescriptionCVE.org

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.

AnalysisAI

Local privilege escalation and kernel memory corruption in the Linux kernel's omap2 framebuffer driver (omapfb) arises from a use-after-free race between omapfb_mmap() and the OMAPFB_SETUP_PLANE/OMAPFB_SETUP_MEM ioctls. Because fb_mmap() holds only mm_lock while the ioctl path holds only fb_info->lock, a local user on a TI OMAP2 device can reassign a framebuffer region mid-mmap so that the map_count of the freed region is never incremented, leaving userspace with a mapping to freed physical memory. This is an information-disclosure/corruption primitive (tagged 'Information Disclosure') with no public exploit identified at time of analysis; the upstream fix is merged and a patched release exists.

Technical ContextAI

The affected component is fbdev's OMAP2 framebuffer driver (drivers/video/fbdev/omap2), used on Texas Instruments OMAP2/3 SoCs found in embedded and mobile ARM hardware. The root-cause class is a use-after-free (CWE-416) driven by inconsistent locking: fb_mmap() serializes on the mm's mmap lock, while ioctl handlers serialize on fb_info->lock, so the two paths can run concurrently. In omapfb_mmap() the code captures a reference to the old memory region (rg = omapfb_get_mem_region), but then reads the physical start address and smem_len from the *current* ofbi->region, which OMAPFB_SETUP_PLANE may have swapped for a new region; the atomic map_count increment is applied to the old region while the mapping actually points at the new region. OMAPFB_SETUP_MEM subsequently sees map_count==0 for the new region and frees still-mapped physical memory. The fix reads start and len from the same rg whose map_count is incremented, keeping the mapped region pinned.

RemediationAI

Vendor-released patch: upgrade to Linux 7.1.3 or 7.2-rc1 (or later), which changes omapfb_mmap() to read start and len from the same region reference it increments, closing the race; the fix is in stable commits 6eb6ebcc8590007ad59ddccc8b5f9201655b33f8 and 7958e67375aa111522086286bba13cfc0816ce8d. If immediate patching is not possible on OMAP2 devices, restrict access to /dev/fb* by tightening ownership/permissions and removing untrusted users from the video group, which prevents the local ioctl/mmap sequence at the cost of breaking legitimate direct framebuffer consumers; where the OMAP2 framebuffer is unused, blacklisting or not building the omapfb module eliminates the code path entirely but disables that display driver. Track distribution stable-kernel backports and apply them as they ship.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

EUVD-2026-45456 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy