CVE-2026-98715 in Linux
Resumen
por VulDB • 2026-10-19
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
KVM: SVM: Preservar el control del TLB (es decir, un vaciado pendiente del TLB) en caso de fallo de VMRUN
No restablecer el control del TLB del VMCB a "no hacer nada" ante una VMRUN fallida, ya que las pruebas empíricas muestran que la CPU realiza el vaciado solicitado del TLB únicamente si VMRUN tiene éxito; es decir, borrar el control del TLB en caso de fallo de VMRUN elimina efectivamente un vaciado del TLB.
Rastrear explícitamente la necesidad de vaciar todos los ASID a nivel de pCPU (núcleo físico), ya que la condición de reutilización del ASID está vinculada al pCPU, no al vCPU (núcleo virtual). Como beneficio adicional, esto elimina también la necesidad de evitar sobrescribir FLUSH_ALL_ASID con TLB_CONTROL_FLUSH_ASID, por ejemplo en svm_flush_tlb_asid().
No guardar/restaurar deliberadamente el "antiguo" tlb_ctl ante un fallo; entre comillas porque no es exactamente el antiguo tlb_ctl, sino el tlb_ctl posterior a pre_svm_run(), pero antes de actualizar tlb_ctl para flush_all_asids. Si VMRUN falla y se fuerza TLB_CONTROL_FLUSH_ALL_ASID, la siguiente ejecución exitosa del VMCB *podría* vaciar innecesariamente todos los ASID, lo que estrictamente podría provocar problemas de "vecino ruidoso". Sin embargo, el hecho de que new_asid() ya sea activable por parte del invitado debido al comportamiento defectuoso de KVM de borrar el ASID durante la emulación de INIT significa que un invitado ya puede desencadenar un vaciado de todos los ASID aproximadamente a la misma tasa. Y una vez que KVM deje de sobrescribir el ASID en la emulación de INIT, *o* asigne un ASID estático a cada vCPU, esta vulnerabilidad desaparecerá.
If you want to get best quality of vulnerability data, you may have to visit VulDB.