fuente: https://thehackernews.com/2026/10/ai-found-linux-kernel-flaw-gives-local.html
Una vulnerabilidad en el subsistema vhost de Linux permite a un usuario local leer y escribir en la memoria del kernel a su antojo y obtener privilegios de root en casi una década de versiones del kernel. En una configuración de virtualización, permite que una máquina virtual no confiable escriba en la memoria del host y secuestre el programa que la ejecuta.
El fallo se conoce como CVE-2026-74580 y se denomina Vghost. Tencent Zhuque Lab, que descubrió la vulnerabilidad, publicó una solución el 3 de agosto y un informe completo el 12 de octubre con demostraciones funcionales de ambos ataques. Hasta el momento, no hay indicios públicos de que haya sido explotado.
vhost es la parte del kernel de Linux que acelera la red y otras operaciones de entrada/salida para máquinas virtuales y contenedores. Un usuario local accede a él abriendo un nodo de dispositivo, generalmente /dev/vhost-net o /dev/vhost-vsock.
En el host, la vulnerabilidad proporciona a un usuario sin privilegios una forma fiable de leer y escribir en cualquier dirección del kernel, eludir KASLR y obtener privilegios de root. El ataque es determinista: no requiere optimización de memoria ni sincronización fortuita.
El segundo ataque es más específico. Cuando el dispositivo virtio de una máquina virtual se coloca detrás de una IOMMU virtual con iommu_platform activado, y vhost se ejecuta en modo device-IOTLB, un invitado no confiable puede activar el mismo error y hacer que el kernel del host escriba fuera de los límites en el proceso QEMU del host. A partir de ahí, el invitado puede sobrescribir un puntero de función en QEMU y tomar el control de la siguiente ejecución del proceso del host, o incluso provocar su bloqueo.
Cómo funciona
vhost mantiene una pequeña caché de las asignaciones de memoria detrás de cada anillo virtual y las colas compartidas que utiliza para mover datos. Un acierto de caché se interpreta como prueba de que la región ya se ha comprobado. La caché se borra cuando se actualiza o invalida la asignación y cuando se reinicia la cola, pero no cuando los comandos VHOST_SET_VRING_ADDR o VHOST_SET_VRING_NUM modifican las direcciones o el tamaño del anillo mientras la cola está activa.
Con un IOTLB de dispositivo conectado, esos comandos aceptan las nuevas direcciones sin verificarlas, dejando esa verificación para más adelante. Una vez que la caché se llena, la verificación posterior nunca se ejecuta y vhost continúa traduciendo las nuevas direcciones usando la asignación anterior. El kernel entonces copia datos hacia o desde ese puntero sin una verificación de límites, por lo que una escritura en el anillo usado o una lectura de un descriptor aterriza fuera de la región mapeada. Esto le da al atacante acceso de lectura y escritura al kernel.
La vulnerabilidad permaneció en el código durante aproximadamente nueve años porque requirió dos cambios razonables para crearla. Un cambio de 2017 (Linux 4.11) agregó la caché y su acceso directo. Un cambio de 2020 (Linux 5.9) trasladó la verificación de direcciones fuera del comando y a un paso posterior, eliminando la verificación que de otro modo habría detectado la traducción obsoleta.
Investigadores de seguridad obtuvieron una recompensa de 250.000 dólares de Google tras crear una vulnerabilidad de cadena completa en Chrome mediante agentes d...
Leer artículo →Un extraordinario aluvión de tráfico DNS sobrecargó la infraestructura de DomainTools hasta tal punto que un solo dominio generó hasta 500.000 observaciones nue...
Leer artículo →Investigadores de seguridad ejecutaron su propio código dentro de una parte protegida de Windows, diseñada para permanecer sellada incluso cuando el resto del e...
Leer artículo →