GhostLock, BadEpoll y Januscape — vulnerabilidades en el núcleo de Linux que permiten obtener derechos de root y eludir la aislamiento de KVM

Se ha revelado información sobre una vulnerabilidad (CVE-2026-43499) en el núcleo de Linux, apodada GhostLock, que permite a un usuario local no privilegiado obtener derechos de root en el sistema, así como salir de contenedores aislados. Cuando se combina con otras vulnerabilidades en navegadores, el problema identificado puede ser utilizado para ejecutar código de forma remota con privilegios de root al abrir una página web específicamente diseñada. El problema se manifiesta a partir del núcleo de Linux 2.6.39 (2011).

Se afirma que la vulnerabilidad puede ser explotada en todas las distribuciones lanzadas en los últimos 15 años. Existe un exploit funcional, cuyos creadores recibieron de Google un premio de $92337 por el exitoso aumento de privilegios en un entorno con núcleo KernelCTF (Capture the Flag), que incluye parches adicionales para bloquear métodos comunes de explotación. El grado de éxito del exploit se estima en un 97%. La vulnerabilidad fue detectada mediante la herramienta de IA VEGA.

El parche de corrección fue incluido en la base de código del núcleo el 21 de abril y se ha incluido en las versiones del núcleo 7.1.0, 6.18.36, 6.12.95, 6.6.144 y 6.1.177. El estado de la mitigación de las vulnerabilidades en las distribuciones se puede evaluar en estas páginas: Debian, Ubuntu, SUSE/openSUSE, RHEL, AlmaLinux, Gentoo, Arch, Fedora. No hay soluciones alternativas para bloquear el problema.

La vulnerabilidad está presente en la implementación de bloqueos futex y es causada por el acceso a la memoria después de que ha sido liberada, que ocurre durante el funcionamiento del mecanismo de herencia de prioridades, que previene la inversión de prioridades (bloqueo de una tarea de alta prioridad debido a la espera de la liberación de un recurso ocupado por una tarea de baja prioridad). En una situación en la que la colocación del bloqueo falla, el núcleo revierte el estado y llama a la función de limpieza. En ciertas circunstancias, la función de limpieza se llama en un momento inadecuado y libera la estructura de datos de otra tarea, dejando un puntero colgante (dangling pointer) que apunta a una memoria que ya ha sido liberada.

La explotación de la vulnerabilidad se reduce a crear condiciones para la aparición de un puntero colgante, utilizando solo las llamadas al sistema disponibles para el usuario para trabajar con hilos, implementando un primitivo de escritura mediante el puntero colgante en un área de memoria del núcleo arbitraria y aplicando este primitivo para sustituir la transición en la tabla de funciones del núcleo para interceptar el flujo de control.

En el exploit propuesto, se produce una reescritura del puntero en la tabla de funciones inet6_protos[IPPROTO_UDP], tras lo cual se envía un paquete UDP a la interfaz de loopback a través de IPv6, al procesar el cual se llama al controlador, cuyo puntero fue sustituido en la etapa anterior. Para obtener acceso root, el código del exploit obtenido escribe en \/proc\/sys\/kernel\/core_pattern su controlador, que se invoca con privilegios de root en caso de fallos de procesos.

Además del problema considerado, se han identificado varias vulnerabilidades peligrosas en el núcleo de Linux:

  • Januscape (CVE-2026-53359) — acceso a la memoria después de su liberación (use-after-free) en los componentes del hipervisor KVM, ejecutándose en el lado de la máquina virtual para emular la unidad de gestión de memoria (MMU) y traducir direcciones entre el host y el sistema huésped. La vulnerabilidad se manifiesta en sistemas con procesadores Intel y AMD y permite obtener acceso con privilegios de root al entorno del host si se tiene acceso con privilegios de root en el sistema huésped.

    Está disponible un prototipo de exploit que corrompe el contenido de la estructura de datos en el lado del sistema host, utilizado para la traducción de direcciones. El exploit publicado provoca el fallo del sistema host, pero según el investigador que ha detectado el problema, también ha creado un exploit para ejecutar código en el entorno del host con privilegios de root, aunque aún no lo publica para dar tiempo a la instalación de actualizaciones.

    El problema se debe a un error cometido hace 16 años y se ha corregido en las actualizaciones 7.1.3, 6.18.38, 6.12.95, 6.6.144 y 6.1.177. El estado de las correcciones de las vulnerabilidades en las distribuciones se puede evaluar en las siguientes páginas: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora. El investigador recibió una recompensa de 250 mil dólares de Google por la detección de la vulnerabilidad en el marco de la iniciativa kvmCTF.

    Para salir del sistema huésped a como en entornos de nube públicos o privados. En los procesadores ARM64, el mismo investigador ha identificado otra vulnerabilidad ITScape (CVE-2026-46316), provocada por una condición de carrera en el código de emulación vGIC-ITS (Servicio de Traducción de Interrupciones) en KVM. También se ha publicado un prototipo de exploit para este problema.

  • Bad Epoll (CVE-2026-46242) es una condición de carrera que conduce a un acceso a la memoria después de su liberación, en el subsistema del núcleo epoll. La vulnerabilidad permite a un usuario local no privilegiado ejecutar código con derechos de root. Este problema es notable porque permite atacar no solo distribuciones clásicas de Linux, sino también firmware basado en la plataforma Android, y no está bloqueado por el aislamiento de sandbox en Chrome. Se demostró un exploit funcional en la competencia kernelCTF (Google pagó al autor $71337). La confiabilidad del funcionamiento del exploit se estima en un 99%.

    El problema se presenta a partir del núcleo Linux 6.4 (2023). Se informó del problema a los desarrolladores del núcleo el 17 de febrero, pero se logró desarrollar una corrección solo después de varios intentos fallidos el 24 de abril. El problema se ha solucionado en los núcleos 6.18.24, 6.12.83, 6.6.136. El estado de la eliminación de vulnerabilidades en las distribuciones se puede evaluar en estas páginas: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.

  • CVE-2026-46215 es un acceso a la memoria después de su liberación en la implementación ioctl DRM_IOCTL_GEM_CHANGE_HANDLE en el subsistema DRM (Gestor de Renderizado Directo). Un usuario local que tenga acceso a dispositivos /dev/dri/renderD* (el servicio systemd-logind proporciona acceso a todos los usuarios al iniciar una sesión gráfica en todas las principales distribuciones) puede obtener derechos de root en el sistema. Existe un exploit. El problema se presenta a partir del núcleo 6.18 y se ha solucionado en las actualizaciones 7.0.9 y 6.18.32. El estado de la eliminación de vulnerabilidades en las distribuciones se puede evaluar en estas páginas: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster