CVE-2026-23248

In the Linux kernel, the following vulnerability has been resolved: perf/core: Fix refcount bug and potential UAF in perf_mmap Syzkaller reported a refcount_t: addition on 0; use-after-free warning in perf_mmap. The issue is caused by a race condition between a failing mmap() setup and a concurrent mmap() on a dependent event (e.g., using output redirection). In perf_mmap(), the ring_buffer (rb) is allocated and assigned to event->rb with the mmap_mutex held. The mutex is then released to perform map_range(). If map_range() fails, perf_mmap_close() is called to clean up. However, since the mutex was dropped, another thread attaching to this event (via inherited events or output redirection) can acquire the mutex, observe the valid event->rb pointer, and attempt to increment its reference count. If the cleanup path has already dropped the reference count to zero, this results in a use-after-free or refcount saturation warning. Fix this by extending the scope of mmap_mutex to cover the map_range() call. This ensures that the ring buffer initialization and mapping (or cleanup on failure) happens atomically effectively, preventing other threads from accessing a half-initialized or dying ring buffer.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*

History

21 May 2026, 18:45

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/77de62ad3de3967818c3dbe656b7336ebee461d2 - () https://git.kernel.org/stable/c/77de62ad3de3967818c3dbe656b7336ebee461d2 - Patch
References () https://git.kernel.org/stable/c/ac7ecb65af170a7fc193e7bd8be15dac84ec6a56 - () https://git.kernel.org/stable/c/ac7ecb65af170a7fc193e7bd8be15dac84ec6a56 - Patch
References () https://git.kernel.org/stable/c/c27dea9f50ed525facb62ef647dddc4722456e07 - () https://git.kernel.org/stable/c/c27dea9f50ed525facb62ef647dddc4722456e07 - Patch
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
CWE CWE-416
First Time Linux linux Kernel
Linux

02 Apr 2026, 15:16

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 7.8
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: perf/core: Corrección de error de conteo de referencias y potencial UAF en perf_mmap Syzkaller informó una advertencia de refcount_t: adición en 0; uso después de liberación en perf_mmap. El problema es causado por una condición de carrera entre una configuración de mmap() fallida y un mmap() concurrente en un evento dependiente (por ejemplo, usando redirección de salida). En perf_mmap(), el ring_buffer (rb) se asigna y se establece en event->rb con el mmap_mutex retenido. El mutex es entonces liberado para realizar map_range(). Si map_range() falla, se llama a perf_mmap_close() para limpiar. Sin embargo, dado que el mutex fue liberado, otro hilo que se adjunta a este evento (a través de eventos heredados o redirección de salida) puede adquirir el mutex, observar el puntero event->rb válido e intentar incrementar su conteo de referencias. Si la ruta de limpieza ya ha reducido el conteo de referencias a cero, esto resulta en un uso después de liberación o una advertencia de saturación de conteo de referencias. Esto se corrige al extender el alcance de mmap_mutex para cubrir la llamada a map_range(). Esto asegura que la inicialización y el mapeo del búfer de anillo (o la limpieza en caso de fallo) ocurra de manera atómica y efectiva, evitando que otros hilos accedan a un búfer de anillo medio inicializado o en proceso de terminación.

18 Mar 2026, 11:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-03-18 11:16

Updated : 2026-05-21 18:45


NVD link : CVE-2026-23248

Mitre link : CVE-2026-23248

CVE.ORG link : CVE-2026-23248


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-416

Use After Free