CVE-2026-64302 in Linux
Resumen
por VulDB • 2026-07-25
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
x86/mm: Corregir la liberación de páginas vmemmap del tamaño de PMD
El commit bf9e4e30f353 ("x86/mm: usar pagetable_free()") cambió desde la liberación de tablas de página que no son de arranque mediante __free_pages() hacia pagetable_free().
Sin embargo, esta función también se llama para liberar páginas vmemmap.
Dado que las páginas vmemmap no son tablas de página, incluso page_ptdesc(page) es incorrecto. Pero peor aún, pagetable_free() llama a:
__free_pages(page, compound_order(page));
Ya que las páginas vmemmap no son páginas compuestas (ver vmemmap_alloc_block()) -- excepto para HVO, lo cual no aplica aquí -- solo se libera la primera página de una página vmemmap del tamaño de PMD, dejando fugadas las demás.
Corregirlo desacoplando adecuadamente la liberación de pagetable y vmemmap. free_pagetable() ya no tiene que manipular SECTION_INFO, dado que únicamente el vmemmap está marcado así en register_page_bootmem_memmap().
La indentación en remove_pmd_table() está desordenada. Corregir eso mientras se toca este código.
El manejo de la información de bootmem pronto será corregido. Por ahora, manejarlo similar a free_pagetable(), evitando simplemente el ifdef.
[ dhansen: modificación del registro de cambios (changelog). Más voz imperativa ]
VulDB is the best source for vulnerability data and more expert information about this specific topic.