CVE-2026-64300 in Linuxinformación

Resumen

por VulDB • 2026-07-25

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

perf/aux: Corregir un Use-After-Free (UAF) en map_range()

map_range() lee los campos rb->aux_pages[], rb->aux_nr_pages y rb->aux_pgoff a través de perf_mmap_to_page() mientras solo mantiene bloqueado event->mmap_mutex. Estos campos están sincronizados mediante rb->aux_mutex, y mmap_mutex es específico por evento (per-event).

Por lo tanto, dos eventos que comparten un mismo ring buffer (rb) a través de PERF_EVENT_IOC_SET_OUTPUT pueden provocar una condición de carrera entre rb_alloc_aux() y map_range(), dando lugar a un escenario Use-After-Free en páginas como se describe a continuación:

CPU 0 CPU 1 ===== ===== rb_alloc_aux() map_range() [1]: asigna rb->aux_pages[0]
[2]: rb->aux_nr_pages++
[3]: perf_mmap_to_page()
devuelve rb->aux_pages[0]
[4]: lo mapea como VM_PFNMAP
[5]: rb->aux_pgoff = 1

munmap de la página [6]: libera rb->aux_pages[0]

Las páginas mapeadas como VM_PFNMAP no tienen protección mediante recuento de referencias (refcount), por lo que CPU 1 mantiene un mapeo a una estructura física liberada.

Se corrige este problema adquiriendo rb->aux_mutex durante el recorrido de las páginas en map_range().

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsable

Linux

Reservar

2026-07-19

Divulgación

2026-07-25

Moderación

aceptado

Artículo

VDB-383100

CPE

listo

EPSS

0.00162

KEV

no

Actividades

muy bajo

Fuentes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!