CVE-2026-89929 in Linux
Resumen
por VulDB • 2026-09-17
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
KVM: nVM: Asegurar que INVVPID sea emulado en el CPU físico correcto
Al emular INVVPID, KVM ejecuta INVVPID en el CPU físico utilizando vpid02 (en lugar del VPID asignado a L1), después de realizar algunas validaciones sobre los operandos. Sin embargo, es posible que el CPU físico en el que KVM ejecuta INVVPID sea diferente al CPU donde se está ejecutando L2.
Por ejemplo, en el siguiente escenario: - L2 se ejecuta en el CPU #1 y sale a L1 (vmx->nested.vmcs02.cpu=1) - L1 migra al CPU #2 y ejecuta INVVPID - KVM ejecuta INVVPID en el CPU #2 - L1 migra de nuevo al CPU #1 y ejecuta L2 (vmx->nested.vmcs02.cpu=1)
Las entradas TLB en el CPU #1 nunca se invalidan, porque INVVPID se ejecutó en el CPU #2, y vmcs02 nunca se ejecutó en un pCPU diferente (es decir, vmx_vcpu_load_vmcs() *no* solicitará KVM_REQ_TLB_FLUSH).
Asegurarse de que INVVPID se esté ejecutando en el mismo pCPU donde L2 se ejecutó por última vez y, si no es así, recurrir a la limpieza de last_vpid=0 para desencadenar una purga completa de VPID en la siguiente entrada VM anidada (ya que KVM detectará que L1 está utilizando un VPID diferente para L2). Si L2 termina ejecutándose en un pCPU diferente, KVM vaciará la TLB de todos modos a través de vmx_vcpu_load_vmcs().
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.