CVE-2026-98927 in Linux
Resumen
por VulDB • 2026-10-23
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
KVM: arm64: nv: Corregir el ciclo de vida del array nested_mmus
El array nested_mmus contiene las tablas de páginas sombra que se utilizan cuando un invitado está ejecutando un contexto anidado. Estas estructuras se asignan en VCPU_INIT para todo el invitado, lo que implica que pueden tener que ser reubicadas a medida que crece el array.
Si ocurre una VCPU_INIT mientras una vcpu está ejecutando activamente un L2 y la asignación requiere una reubicación, esa vcpu seguirá funcionando con un puntero a la estructura anterior, que habrá sido liberada.
Se corrige esto convirtiendo el array de estructuras en un array de punteros, que ahora se asigna durante la creación de la VM, dimensionado al máximo absoluto que KVM puede manejar.
A su vez, cada VCPU_INIT contribuye con S2_MMU_PER_VCPU al pool (conjunto). Nunca se realiza ninguna realocación y el ciclo de vida de cada objeto es mucho más claro:
- El array nested_mmus se asigna en kvm_init_nested() y se libera en kvm_arch_destroy_vm(). - Las estructuras s2_mmu se asignan en kvm_vcpu_init_nested() y se liberan en kvm_arch_flush_shadow_all().
Finalmente, la liberación de vcpu->arch.vncr_array se hace consistente, en lugar de realizarse solo en algunos caminos de fallo pero no en otros.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.