Bad Epoll: análisis de la vulnerabilidad crítica de escalada de privilegios en el kernel de Linux (CVE-2026-46242)

Bad Epoll: Análisis de la Vulnerabilidad Crítica de Escalada de Privilegios en el Kernel de Linux (CVE-2026-46242)

Introducción

La comunidad de seguridad informática enfrenta un nuevo desafío con la divulgación pública de Bad Epoll, identificada oficialmente como CVE-2026-46242, una vulnerabilidad crítica descubierta en el subsistema epoll del Kernel de Linux. Este fallo permite que un usuario sin privilegios especiales tome control total de una máquina como root, afectando tanto a equipos de escritorio y servidores Linux como a dispositivos Android. Dado que epoll es un componente fundamental e inevitable del núcleo, presente en prácticamente cualquier entorno que dependa de operaciones de E/S concurrentes, desde infraestructura de nube empresarial hasta contenedores y sistemas embebidos, este hallazgo representa un riesgo de gran alcance para la integridad de la infraestructura tecnológica moderna.


¿Qué es el fallo ‘Bad Epoll’?

epoll es una interfaz esencial del kernel de Linux diseñada para el manejo escalable de eventos de Entrada/Salida, permitiendo que una aplicación monitoree simultáneamente un gran número de descriptores de archivo sin necesidad de recorrerlos uno por uno. Debido a su papel fundacional en el manejo de operaciones de E/S concurrentes, epoll está profundamente integrado en prácticamente cualquier entorno basado en Linux, desde la infraestructura de nube empresarial hasta los sistemas Android embebidos.

El problema de seguridad radica en que, a diferencia de vulnerabilidades ligadas a módulos opcionales del kernel que pueden deshabilitarse o desvincularse fácilmente, epoll es un componente central del kernel que no puede desactivarse ni descargarse. Esto significa que no existe una solución de mitigación temporal (workaround): el unico remedio es la aplicación del parche correspondiente. Explotar esta falla no requiere permisos especiales, únicamente acceso local al sistema, lo que la convierte en una amenaza severa en entornos multiusuario, plataformas de hosting compartido y cargas de trabajo en contenedores.


¿Cómo funciona?

Bad Epoll combina dos primitivas de ataque clásicas y peligrosas del kernel: una condición de carrera (race condition) y una vulnerabilidad de tipo Use-After-Free (UAF).

Origen del fallo:

El error se remonta a un único commit de abril de 2023, que introdujo silenciosamente dos condiciones de carrera distintas en aproximadamente 2,500 líneas de código del subsistema epoll. La primera de ellas, catalogada como CVE-2026-43074, fue detectada y corregida a inicios de 2026, identificada por el modelo de IA Mythos de Anthropic durante una auditoría de código, mientras que Bad Epoll es la segunda falla, que permaneció oculta durante más tiempo.

Mecanismo de explotación:

La vulnerabilidad reside dentro de la función ep_remove(), la cual limpia el puntero file->f_ep bajo la protección del candado file->f_lock, pero continúa utilizando el objeto de archivo dentro de la sección crítica durante las operaciones hlist_del_rcu() y spin_unlock(). Esto crea una ventana en la que, cuando dos descriptores de archivo epoll se configuran para monitorearse mutuamente y ambos se cierran casi en el mismo instante, el kernel puede terminar leyendo y escribiendo a través de un puntero hacia memoria que ya ha sido liberada.

Escalada a control total:

A partir de esa corrupción de memoria, el atacante obtiene acceso de lectura a memoria arbitraria del kernel a través de /proc/self/fdinfo y secuestra el flujo de control mediante una cadena de programación orientada a retorno (ROP) para obtener una shell de root.

Fiabilidad del exploit:

A pesar de la condición de carrera es extremadamente estrecha, de apenas seis instrucciones, el investigador Jaeyoung Chung logró ampliarla mediante reintentos automáticos sin provocar caídas del kernel, alcanzando una tasa de éxito cercana al 99% en los objetivos probados.

Vector adicional en navegadores:

La vulnerabilidad también es alcanzable desde el sandbox del proceso renderizador de Chrome, lo que eleva la posibilidad de encadenar un exploit de navegador con Bad Epoll para lograr ejecución de código completa a nivel de kernel.


Sistemas Afectados


Mitigación y Detección

Remediación inmediata


Recapitulando…

El caso de Bad Epoll (CVE-2026-46242) ilustra de manera contundente la fragilidad que puede introducirse incluso en los subsistemas más antiguos y probados del Kernel de Linux. El hecho de que el fallo se originara en un único commit de 2023 y permaneciera sin detectar durante casi tres años en el kernel mainline subraya que la antigüedad y madurez de un componente no garantizan su inmunidad frente a errores de concurrencia complejos, como las condiciones de carrera. Un dato particularmente relevante para la comunidad es que el mismo commit de 2023 introdujo dos condiciones de carrera distintas: la primera fue detectada exitosamente por el modelo de inteligencia artificial Mythos de Anthropic durante una revisión de código, mientras que la segunda, Bad Epoll, pasó desapercibida para dicho análisis automatizado, lo que evidencia tanto el potencial como las limitaciones actuales de las herramientas de IA aplicadas a la auditoría de seguridad del kernel.

Para la infraestructura de nube y los entornos corporativos modernos, este incidente reafirma que los componentes invisibles, aquellos que rara vez llaman la atención pero que sustentan operaciones críticas de E/S, deben integrarse activamente en los programas de gestión de parches y en las estrategias de threat hunting, dado que su compromiso puede traducirse directamente en la pérdida total del control administrativo sobre el sistema afectado.


Referencias

The Hacker News. (2026, 4 de julio). New “Bad Epoll” Linux kernel flaw lets unprivileged users gain root, hits Android. https://thehackernews.com/2026/07/new-bad-epoll-linux-kernel-flaw-lets.html

Cybersecurity News. (2026, 3 de julio). New “Bad Epoll” 0-day vulnerability allows root access on Linux servers and Android devices. https://cybersecuritynews.com/bad-epoll-0-day-vulnerability/

Tech Times. (2026, 4 de julio). Bad Epoll: Kernel race bug beats AI auditing, hits 99% root exploit rate. https://www.techtimes.com/articles/319686/20260704/bad-epoll-kernel-race-bug-beats-ai-auditing-hits-99-root-exploit-rate.htm

National Vulnerability Database. (2026). CVE-2026-46242 detail. NIST. https://nvd.nist.gov/vuln/detail/CVE-2026-46242

Chung, J. (2026). Bad Epoll: The bug missed by Mythos [Repositorio de investigación en GitHub]. https://github.com/J-jaeyoung/bad-epoll