CVE-2026-64300CWE-416

CVE-2026-64300

High · published July 25, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
7.4
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

perf/aux: Fix page UAF in map_range()

map_range() reads rb->aux_pages[], rb->aux_nr_pages and rb->aux_pgoff via

perf_mmap_to_page() while holding only event->mmap_mutex. Those fields are

serialized by rb->aux_mutex, and mmap_mutex is per event.

Thus, two events sharing one rb via PERF_EVENT_IOC_SET_OUTPUT can race

rb_alloc_aux() with map_range(), leading to a page-UAF scenario as follows:

CPU 0 CPU 1

===== =====

rb_alloc_aux() map_range()

[1]: allocate rb->aux_pages[0]

[2]: rb->aux_nr_pages++

[3]: perf_mmap_to_page()

returns rb->aux_pages[0]

[4]: map it as VM_PFNMAP

[5]: rb->aux_pgoff = 1

munmap the page

[6]: free rb->aux_pages[0]

Pages mapped as VM_PFNMAP have no refcount protection, so CPU 1 holds a

mapping to a freed physical frame.

Fix this by taking rb->aux_mutex across the page walk in map_range().

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00182 · 7.4th percentile
Weakness
CWE-416 · Use After Free
Published
2026-07-25T14:17Z
Affected products (4)
ProductVersionsFixed in
linux/linux_kernel≥ 6.14, < 6.18.396.18.39
linux/linux_kernel≥ 6.19, < 7.1.47.1.4
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (3)
EPSS history
Timeline
  • 25 JUL 08:49Z
    perf/aux: Fix page UAF in map_range()
    cvelistv5