Publican un exploit funcional para escapar de contenedores a root en el host mediante un fallo en el kernel Linux (CVE-2026-80521)

Investigadores de seguridad de la firma DepthFirst Research han publicado un exploit funcional que permite evadir el aislamiento de contenedores (Docker, containerd, Kubernetes) y obtener privilegios de superusuario (root) en el sistema operativo anfitrión (host). El vector abusa de una vulnerabilidad de liberación de memoria tras su uso (Use-After-Free) en el subsistema de sockets AF_UNIX del kernel de Linux, identificada como CVE-2026-80521 (CVSS v3: 7.8). La divulgación pública del código ofensivo compromete de forma directa a despliegues sobre distribuciones Ubuntu donde los paquetes del kernel aún no han incorporado el parche de seguridad que corrige el recolector de basura del subsistema de red.
Análisis técnico y vector de ataque
Componente vulnerable: El subsistema de sockets de dominio UNIX (AF_UNIX / AF_LOCAL), infraestructura central del kernel de Linux encargada de gestionar la comunicación interproceso (IPC) bidireccional y de alto rendimiento en una misma máquina.
Mecánica del fallo: La vulnerabilidad (reportada originalmente al kernel upstream por Kyle Zeng) reside en la lógica de recolección de basura (Garbage Collection, GC) que gestiona sockets con referencias cruzadas o cíclicas. Cuando se transmiten descriptores de archivo a través de sockets UNIX mediante SCM_RIGHTS, el kernel implementa un algoritmo para detectar ciclos y componentes fuertemente conectados (Strongly Connected Components, SCC). Si dos grafos SCC interactúan, el recolector de basura puede desasignar parcialmente la memoria de un componente activo durante la invocación de unix_del_edge() debido a una desvinculación incorrecta de scc_entry, generando una condición de Use-After-Free (UAF).
Vector de escape y salto de barreras:
Los contenedores comparten por arquitectura el kernel del sistema anfitrión. Las llamadas al sistema (syscalls) para crear y enlazar sockets de dominio UNIX son operaciones ordinarias no filtradas por los perfiles estándar de seccomp ni por AppArmor/SELinux en motores de contenedores.
Un proceso no privilegiado dentro del contenedor ejecuta secuencias controladas de creación y cierre de sockets UNIX, induciendo la condición de carrera en el recolector de basura.
Tras liberar la estructura de datos, el exploit sobrescribe la memoria del kernel con objetos forjados, logrando primitivas de lectura y escritura arbitraria en el espacio de memoria del kernel (kernel space).
Una vez comprometido el kernel anfitrión, el atacante sobreescribe las credenciales de su proceso (struct cred), desactiva las restricciones impuestas por los espacios de nombres (namespaces de PID, red y montaje) y asume UID 0 (root) en el host subyacente.
Alcance e impacto verificado
Nivel de severidad: CVSS v3 calificado en 7.8 (Alto) por la base de datos de vulnerabilidades (NVD / Canonical). Canonical ha clasificado internamente la prioridad en nivel Medio debido a la complejidad de temporización requerida para explotar el fallo en escenarios reales.
Estado de explotación: Exploit público y funcional demostrado por DepthFirst Research en entornos Ubuntu.
Impacto arquitectónico: Evasión total del aislamiento (container escape). Al ser una falla a nivel de kernel, actualizar Docker, containerd, Kubernetes o runc no mitiga el problema.
Distribuciones y paquetes afectados:
Kernel Upstream (Linux): Corregido formalmente el 6 de agosto de 2026 mediante el commit que desvincula scc_entry en unix_del_edge().
Ubuntu 26.04: Paquete base linux afectado; parches en proceso de integración (work in progress).
Ubuntu 24.04 LTS: Paquete base linux vulnerable; núcleos de soporte de hardware linux-hwe-6.17 y linux-hwe-7.0 vulnerables.
Ubuntu 22.04 LTS: El kernel base original no está afectado; sin embargo, los kernels HWE modernos (linux-hwe-6.8, linux-aws-6.8, linux-azure-6.8) figuran como vulnerables.
Mitigación y recomendaciones
Parcheado y actualización del host: La única solución estructural consiste en aplicar la actualización del paquete del kernel proporcionada por la distribución y reiniciar la máquina física o instancia para ejecutar el binario saneado:
sudo apt-get update && sudo apt-get dist-upgrade -y
sudo rebootRestricción de syscalls mediante Seccomp (mitigación temporal): En entornos multitenant donde el reinicio o parcheado del kernel deba posponerse, se pueden aplicar filtros restrictivos de seccomp en los perfiles de Docker/Kubernetes para bloquear la llamada al sistema socketpair o limitar la creación de sockets con dominio AF_UNIX, siempre que las cargas de trabajo de la aplicación no dependan de IPC local interna.
Uso de entornos de virtualización basada en hipervisor: Para aislar cargas de trabajo no confiables o contenedores expuestos, migrar a entornos de aislamiento reforzado con microVMs (como Kata Containers o AWS Firecracker), que proporcionan un kernel independiente por contenedor y evitan que la corrupción de memoria alcance al host de virtualización.
Fuentes
NIST National Vulnerability Database (NVD): Registro oficial y vector CVSS de CVE-2026-80521 (https://nvd.nist.gov/vuln/detail/CVE-2026-80521)
Ubuntu Security Tracker: Notificación y seguimiento de paquetes de kernel afectados por CVE-2026-80521 (https://ubuntu.com/security/CVE-2026-80521)
The Hacker News: Cobertura de la publicación del exploit funcional y análisis de impacto en contenedores (https://thehackernews.com)
Linux Kernel Git: Commit oficial de corrección af_unix: Unlink scc_entry in unix_del_edge() (https://git.kernel.org)
.png)



Comentarios