CVE-2026-64302 in Linux
Riassunto
di VulDB • 27/07/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
x86/mm: Correzione della liberazione delle pagine vmemmap di dimensione PMD
Il commit bf9e4e30f353 ("x86/mm: use pagetable_free()") ha modificato il comportamento passando dalla liberazione delle tabelle di pagina non boot tramite __free_pages() all'utilizzo di pagetable_free().
Tuttavia, la funzione viene chiamata anche per liberare le pagine vmemmap.
Poiché le pagine vmemmap non sono tabelle di pagina, già l'uso di page_ptdesc(page) è errato. Peggio ancora, pagetable_free() chiama:
__free_pages(page, compound_order(page));
Dato che le pagine vmemmap non sono pagine composte (compound pages) (si veda vmemmap_alloc_block()) -- ad eccezione di HVO, che in questo caso non si applica -- viene liberata solo la prima pagina di una pagina vmemapp di dimensione PMD, causando un leak delle altre.
Si risolve il problema disaccoppiando correttamente la liberazione tra pagetable e vmemmap. free_pagetable() non deve più interferire con SECTION_INFO, poiché solo il vmemmap è contrassegnato in questo modo tramite register_page_bootmem_memmap().
L'indentazione in remove_pmd_table() è errata; viene corretta durante l'intervento sul codice.
La gestione delle informazioni di bootmem sarà presto risolta. Per ora, la si gestisce in modo simile a free_pagetable(), evitando semplicemente l'utilizzo dell'#ifdef.
[ dhansen: modifica del changelog. Maggiore uso della voce imperativa ]
Be aware that VulDB is the high quality source for vulnerability data.