CVE-2026-53359
KVM: x86: Corregir use-after-free en shadow paging debido a un rol inesperado
- Publicado
- 4 jul 2026
- Actualizado
- 17 ago 2026
- Asignación de CNA
- Linux
- Evidencia observada
- 4 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HBajo · próximos 30 días
- Percentil
- 59,6 %
- Fecha del modelo
- 21 sept 2026
EPSS es una estimación estadística, no una certeza o una medida de impacto. Combínelo con CVSS, estado KEV, exposición y su entorno.
Resumen
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: KVM: x86: corrige el use-after-free de la paginación en la sombra debido a un rol inesperado. El commit 0cb2af2ea66ad ("KVM: x86: Fix shadow paging use-after-free due to unexpected GFN") corrigió un desajuste de la paginación en la sombra entre los GFN almacenados y los calculados; el error podía desencadenarse cambiando una asignación de PDE desde fuera del invitado y, a continuación, eliminando un memslot. La llamada a rmap_remove() no encontraba las entradas creadas después del cambio de PDE porque el GFN del SPTE hoja no coincide con el GFN de la estructura kvm_mmu_page. Sin embargo, queda un agujero similar si el PDE modificado apunta a una página no hoja. En este caso, el gfn puede hacerse coincidir, pero el rol no coincide: la página grande original de 2 MB crea un kvm_mmu_page con direct=1, mientras que la nueva de 4 KB necesita un kvm_mmu_page con direct=0. Sin embargo, kvm_mmu_get_child_sp() no compara el rol y, por lo tanto, reutiliza la página. El siguiente paso es instalar un SPTE hoja (de 4 KB) en la nueva ruta, que registra una entrada rmap bajo el gfn resuelto por el recorrido. Pero cuando ese hijo se elimina, su kvm_mmu_page padre tiene direct=1 y kvm_mmu_page_get_gfn() calcula el gfn para la página de 4 KB como sp->gfn + index en lugar de usar sp->shadowed_translation[] (o sp->gfns[] en kernels más antiguos). Por lo tanto, no consigue eliminar la entrada registrada. Cuando se elimina el memslot, la página de la sombra se libera, pero la entrada rmap sobrevive, como en el escenario que ya se había corregido. El código que posteriormente recorre ese gfn (registro de páginas sucias, invalidación del notificador MMU, etc.) desreferencia un sptep que se encuentra en la página liberada, lo que provoca el use-after-free.
Fuentes
4- CVE-2026-53359Informativo
CVE-2026-53359
Uso responsable
Utilice información sobre vulnerabilidades solo en sistemas de su propiedad o que esté autorizado a probar. Kitploit enlaza con metadatos de investigación pública y no almacena código de explotación ni cargas útiles maliciosas.