CVE-2025-38564

In the Linux kernel, the following vulnerability has been resolved: perf/core: Handle buffer mapping fail correctly in perf_mmap() After successful allocation of a buffer or a successful attachment to an existing buffer perf_mmap() tries to map the buffer read only into the page table. If that fails, the already set up page table entries are zapped, but the other perf specific side effects of that failure are not handled. The calling code just cleans up the VMA and does not invoke perf_mmap_close(). This leaks reference counts, corrupts user->vm accounting and also results in an unbalanced invocation of event::event_mapped(). Cure this by moving the event::event_mapped() invocation before the map_range() call so that on map_range() failure perf_mmap_close() can be invoked without causing an unbalanced event::event_unmapped() call. perf_mmap_close() undoes the reference counts and eventually frees buffers.
CVSS

No CVSS.

Configurations

No configuration.

History

20 Aug 2025, 14:40

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: perf/core: Manejar el error de mapeo de búfer correctamente en perf_mmap() Después de la asignación exitosa de un búfer o una conexión exitosa a un búfer existente, perf_mmap() intenta mapear el búfer de solo lectura en la tabla de páginas. Si eso falla, las entradas de la tabla de páginas ya configuradas se eliminan, pero los otros efectos secundarios específicos de perf de ese fallo no se manejan. El código de llamada simplemente limpia el VMA y no invoca perf_mmap_close(). Esto filtra los recuentos de referencia, corrompe la contabilidad de usuario->vm y también resulta en una invocación desequilibrada de event::event_mapped(). Solucione esto moviendo la invocación de event::event_mapped() antes de la llamada a map_range() para que en el fallo de map_range() se pueda invocar perf_mmap_close() sin causar una llamada desequilibrada a event::event_unmapped(). perf_mmap_close() deshace los recuentos de referencia y eventualmente libera los búferes.

19 Aug 2025, 17:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-08-19 17:15

Updated : 2025-08-20 14:40


NVD link : CVE-2025-38564

Mitre link : CVE-2025-38564

CVE.ORG link : CVE-2025-38564


JSON object : View

Products Affected

No product.

CWE

No CWE.