Use After Free Affecting linux-qemu-melange package, versions <6.18.49-r2


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

EPSS
0.14% (3rd percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-CHAINGUARDLATEST-LINUXQEMUMELANGE-19656038
  • published10 Sept 2026
  • disclosed19 Jul 2026

Introduced: 19 Jul 2026

CVE-2026-53401  (opens in a new tab)
CWE-416  (opens in a new tab)

How to fix?

Upgrade Chainguard linux-qemu-melange to version 6.18.49-r2 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream linux-qemu-melange package and not the linux-qemu-melange package as distributed by Chainguard. See How to fix? for Chainguard relevant fixed versions and status.

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.