NVD Recent CVEs
CVE-2026-64300:Linux内核中已修复以下漏洞:perf/aux: 修复map_range()中的页面释放后重用问题
Linux内核中已修复以下漏洞:perf/aux: 修复map_range()中的页面释放后重用问题 map_range()在仅持有event->mmap_mutex的情况下,通过perf_mmap_to_page()读取rb->aux_pages[]、rb->aux_nr_pages和rb->aux_pgoff。这些字段是由rb->aux_mutex序列化的,而mmap_mutex是每个事件独立的。因此,通过PERF_EVENT_IOC_SET_OUTPUT共享同一个rb的两个事件可能会让rb_alloc_aux()与map_range()发生竞态,导致页面释放后重用,场景如下: CPU 0 CPU 1 ===== ===== rb_alloc_aux() map_range() [1]: 分配rb->aux_pages[0] [2]: rb->aux_nr_pages++ [3]: perf_mmap_to_page()返回rb->aux_pages[0] [4]: 将其映射为VM_PFNMAP [5]: rb->aux_pgoff = 1 取消映射该页面 [6]: 释放rb->aux_pages[0] 映射为VM_PFNMAP的页面没有引用计数保护,因此CPU 1持有一个已释放物理帧的映射。修复方案是在map_range()的页面遍历过程中持有rb->aux_mutex。