CVE-2026-98433 in Linux
Resumen
por VulDB • 2026-10-18
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
KVM: PPC: Book3S HV: corregir la fuga de páginas de dispositivo seguro en caso de fallo en uv_page_in()
En kvmppc_svm_page_in(), si uv_page_in() falla después de que kvmppc_uvmem_get_page() haya tenido éxito, la página del dispositivo seguro nunca se libera. kvmppc_uvmem_get_page() establece un bit en kvmppc_uvmem_bitmap, asigna una estructura kvmppc_uvmem_page_pvt, marca el GFN como KVMPPC_GFN_UVMEM_PFN y llama a zone_device_page_init(), que establece refcount=1 y bloquea la página. El goto out_finalize subsiguiente omite la asignación de *mig.dst, por lo que migrate_vma_finalize() es una operación nula para la página, y ninguno de esos recursos se recupera nunca.
Cada ocurrencia consume permanentemente una entrada del grupo de memoria segura limitado por el firmware (kvmppc_uvmem_bitmap), provoca una fuga de pvt y deja el GFN marcado como seguro, lo que hace que sea inutilizable durante toda la vida útil de la VM.
La función gemela __kvmppc_svm_page_out() ya maneja correctamente el fallo análogo en uv_page_out() con unlock_page(dpage); __free_page(dpage). Se aplica el mismo patrón aquí: unlock_page() seguido de put_page(), lo que encadena a través de free_zone_device_folio() hasta kvmppc_uvmem_folio_free() para borrar el bit del bitmap, liberar pvt y restablecer el estado del GFN.
Alcanzable siempre que uv_page_in() devuelva un error (por ejemplo, agotamiento del pool UV) en cualquier sistema POWER9/10 + Ultravisor/PEF.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.