# 𝐏𝐮𝐛𝐥𝐢𝐜𝐚𝐧 𝐮𝐧𝐚 𝐩𝐫𝐮𝐞𝐛𝐚 𝐝𝐞 𝐜𝐨𝐧𝐜𝐞𝐩𝐭𝐨 𝐩𝐚𝐫𝐚 𝐮𝐧𝐚 𝐯𝐮𝐥𝐧𝐞𝐫𝐚𝐛𝐢𝐥𝐢𝐝𝐚𝐝 𝐞𝐧 𝐕𝐡𝐨𝐬𝐭 𝐝𝐞 𝐋𝐢𝐧𝐮𝐱 𝐪𝐮𝐞 𝐩𝐞𝐫𝐦𝐢𝐭𝐞 𝐥𝐚 𝐞𝐬𝐜𝐚𝐥𝐚𝐝𝐚 𝐝𝐞 𝐩𝐫𝐢𝐯𝐢𝐥𝐞𝐠𝐢𝐨𝐬 𝐚 𝐫𝐨𝐨𝐭 𝐲 𝐥𝐚 𝐟𝐮𝐠𝐚 𝐝𝐞 𝐥𝐚 𝐦𝐚́𝐪𝐮𝐢𝐧𝐚 𝐯𝐢𝐫𝐭𝐮𝐚𝐥

Se ha publicado una prueba de concepto para la vulnerabilidad **CVE-2026-74580** (denominada *Vghost*), un fallo de seguridad crítico en el subsistema *vhost* de Linux con una valoración ***CVSS v3.1 de 8,8***. Este fallo permite la escalada local de privilegios hasta nivel de superusuario (*root*) o el escape desde una máquina virtual hacia el sistema anfitrión en entornos específicos. La falla ya cuenta con un parche de corrección en las versiones más recientes del núcleo de Linux.

El componente afectado, *vhost*, optimiza el rendimiento del tráfico de red y de entrada/salida en entornos virtualizados mediante el uso de colas compartidas (*virtqueues*) entre el invitado y el host. La falla radica en la gestión de memoria interna, concretamente en cómo se almacenan en caché las traducciones de la IOTLB empleadas para ubicar estas colas.

Al reconfigurar un anillo virtual, la dirección o dimensión del dispositivo se modifica dentro del sistema, pero el kernel omite purgar las entradas en caché asociadas a las zonas de descriptores y áreas de intercambio de datos.

Debido a esta falta de invalidez en la memoria caché, una consulta posterior utiliza punteros obsoletos para traducir las nuevas direcciones de memoria, saltándose los controles de validación. Como resultado, las funciones de copia del kernel operan sobre direcciones no válidas.

De acuerdo con análisis divulgados en la lista de correo Seclists, este comportamiento deriva de la combinación de dos modificaciones previas en el código base del kernel: la incorporación de la caché de metadatos y el aplazamiento en la comprobación de direcciones de E/S procedentes de la máquina virtual.

Para la escalada de privilegios local, un atacante necesita primero permiso para abrir un dispositivo vhost, como `/dev/vhost-net` o `/dev/vhost-vsock`. La prueba de concepto (PoC) prepara la caché, modifica una dirección de anillo (*ring address*) sin borrar la entrada almacenada en caché y, a continuación, activa la cola. Los investigadores afirman que esto permite leer y escribir en la memoria del kernel.

La cadena de explotación demostrada utiliza una lectura de memoria del kernel para determinar el desplazamiento de aleatorización de direcciones y, posteriormente, escribe en el parámetro `modprobe_path` del kernel. Al activar una solicitud de módulo del kernel, es posible ejecutar un programa auxiliar controlado por el atacante con privilegios de root.

Los investigadores informan haber reproducido esta cadena en ***Ubuntu 26.04, RHEL 9.8, Amazon Linux 2023, Azure Linux 3.0 y Oracle Linux 10.2***. Los permisos de los dispositivos variaban: el sistema Ubuntu probado limitaba el acceso al grupo `kvm`, mientras que los otros sistemas de prueba mencionados exponían el dispositivo a usuarios comunes.

Esta diferencia convierte a los permisos del dispositivo en un factor importante para evaluar la exposición, pero no sustituye la aplicación de parches. La pertenencia al grupo `kvm` o a cualquier otro grupo con acceso a dispositivos vhost debe considerarse un privilegio elevado mientras el sistema permanezca sin actualizar.

La segunda vía de ataque comienza dentro de una máquina virtual. Requiere un dispositivo vhost que utilice una IOMMU virtual, `iommu_platform` y la funcionalidad de reinicio de cola de virtio `VIRTIO_F_RING_RESET`. Un sistema invitado puede reiniciar y reactivar una cola, lo que provoca que el host reconfigure su anillo mientras los metadatos obsoletos permanecen en la caché.

Cuando el sistema invitado activa la cola, la asignación obsoleta puede provocar una escritura en el anillo de usados ​​(*used-ring*) que sobrepase la memoria del invitado y afecte al *heap* del proceso QEMU. Los investigadores señalan que esta corrupción puede provocar el bloqueo de QEMU o alterar su flujo de control. Se trata de un riesgo de escape de máquina virtual (VM) que depende de la configuración; no implica que todas las máquinas virtuales sean vulnerables a este tipo de escape.

La corrección aplicada en la rama principal (*upstream*) borra la caché de metadatos del *vring* cuando se modifica la dirección o el tamaño del anillo, garantizando así que la nueva configuración supere la validación IOTLB.

Las primeras versiones estables corregidas en la rama principal para las series afectadas son: ***5.10.265, 5.15.216, 6.1.183, 6.6.152, 6.12.104, 6.18.45, 7.1.9 y 7.2.*** Los administradores deben instalar un kernel corregido o un *backport* del proveedor y reiniciar el sistema utilizando dicha versión.

Hasta entonces, se recomienda restringir el acceso a todos los nodos de dispositivo *vhost*, incluidos /dev/vhost-net, /dev/vhost-vsock, /dev/vhost-scsi y /dev/vhost-vdpa-\*. No se deben asignar estos dispositivos a contenedores que no sean de confianza.

En el caso de hosts de virtualización sin el parche aplicado, evite exponer dispositivos *vhost* configurados con `iommu_platform` (detrás de una IOMMU virtual) a sistemas invitados no confiables. Los cambios en los permisos no revocan los descriptores de archivo que ya están abiertos ni solucionan la ruta de ejecución iniciada por el sistema invitado.
