Vulnerabilidad de NGINX de 18 años expone servidores web a DoS y posible RCE
Una vulnerabilidad crítica presente en **NGINX** durante casi dos décadas ha sido descubierta, representando un riesgo significativo de ataques de denegación de servicio (DoS) y, bajo condiciones específicas, ejecución remota de código (RCE). Rastreada como **CVE-2026-42945**, la falla resalta los desafíos persistentes para mantener ecosistemas de software seguros.

Una falla de 18 años en el servidor web de código abierto **NGINX**, descubierta utilizando un sistema de escaneo autónomo, puede ser explotada para denegación de servicio y, bajo ciertas condiciones, ejecución remota de código.
La vulnerabilidad se rastrea como **CVE-2026-42945** y recibió una calificación de severidad crítica de 9.2, basada en la última versión del Common Vulnerability Scoring System (**CVSS**).
Se descubrieron tres problemas de corrupción de memoria adicionales en la misma sesión de escaneo de código de seis horas por parte de investigadores de la empresa de seguridad nativa de IA **DepthFirst AI**.
**NGINX** es una plataforma de servidor web y proxy inverso de uso masivo, que impulsa a un tercio de los sitios web mejor clasificados. Puede equilibrar eficientemente la carga distribuyendo el tráfico de red entrante a múltiples servidores backend y reducir los tiempos de carga almacenando contenido en caché.
Propiedad y mantenido por la firma tecnológica estadounidense **F5**, el servidor web es utilizado por proveedores de servicios en la nube, empresas de SaaS, bancos, plataformas de medios, sitios de comercio electrónico y en clústeres de Kubernetes.
**CVE-2026-42945** es un desbordamiento de búfer en el heap (`ngx_http_rewrite_module`) que afecta a las versiones de **NGINX** 0.6.27 a 1.30.0, y ha estado en el código del proyecto durante aproximadamente 18 años.
Según **DepthFirst**, la vulnerabilidad puede ser activada cuando las configuraciones de **NGINX** utilizan las directivas 'rewrite' y 'set', un patrón que, según los investigadores, es común en gateways de API y configuraciones de proxy inverso.
La falla se origina en el manejo inconsistente del estado en el motor de script interno de **NGINX**, que procesa las reescrituras en dos pasadas: una para calcular la cantidad de memoria a asignar y otra para copiar los datos reales.
Una bandera 'is_args' permanece activa después de una reescritura que contiene '?', lo que hace que **NGINX** calcule el tamaño del búfer utilizando longitudes de URI sin escapar, pero luego escriba datos escapados más grandes como '+' y '&', lo que lleva a un desbordamiento de búfer en el heap.
Los investigadores demostraron la ejecución de código no autenticado a través de solicitudes HTTP especialmente diseñadas que corrompen estructuras adyacentes del grupo de memoria de **NGINX**, sobrescriben punteros de manejadores de limpieza, rocían estructuras falsas en la memoria a través de cuerpos de solicitud POST y fuerzan a **NGINX** a ejecutar `system()` durante la limpieza del grupo.
Sin embargo, la ejecución remota de código se logró en un sistema con la protección Address Space Layout Randomization (**ASLR**) contra ataques basados en memoria desactivada. Esta defensa está activa por defecto, pero puede desactivarse para aumentar el rendimiento en algunos entornos, como sistemas embebidos y máquinas virtuales utilizadas para análisis.
**DepthFirst** señala que la arquitectura multiproceso de **NGINX** facilita la explotación porque los procesos trabajadores heredan diseños de memoria casi idénticos del proceso maestro, lo que permite una manipulación confiable del heap y intentos repetidos si un trabajador falla.
"Si nuestro exploit falla y bloquea un trabajador, el proceso maestro simplemente genera uno nuevo con el mismo diseño de memoria exacto", explican los investigadores.
"Esto nos permite intentar varias veces de forma segura hasta que tengamos éxito, sin preocuparnos de que el trabajador falle y cambie el diseño de la memoria."
"Teóricamente, podríamos aprovechar este diseño para filtrar **ASLR** (Address Space Layout Randomization) sobrescribiendo progresivamente punteros byte a byte."
Las otras tres fallas descubiertas por **DepthFirst** recibieron una calificación de severidad media:
* **CVE-2026-42946** — asignación excesiva de memoria en módulos SCGI/UWSGI que puede bloquear trabajadores a través de asignaciones de ~1 TB (alta severidad)
* **CVE-2026-40701** — uso después de liberación en el manejo de resolución DNS OCSP asíncrona (severidad media)
* **CVE-2026-42934** — error de análisis UTF-8 de un byte de diferencia que causa lecturas fuera de límites (severidad media)
### Impacto y Correcciones
Las vulnerabilidades se descubrieron el 18 de abril de 2026 y se informaron al proveedor el 21 de abril.
Según el aviso de seguridad de **F5**, publicado ayer, las fallas afectan a las siguientes compilaciones de **NGINX**:
* **NGINX** Open Source versiones 0.6.27 a 1.30.0
* **NGINX** Plus R32 a R36
* **NGINX** Instance Manager 2.16.0 a 2.21.1
* **F5** WAF para **NGINX** 5.9.0 a 5.12.1
* **NGINX** App Protect WAF 4.9.0 a 4.16.0 y 5.1.0 a 5.8.0
* **F5** DoS para **NGINX** 4.8.0
* **NGINX** App Protect DoS 4.3.0 a 4.7.0
* **NGINX** Gateway Fabric 1.3.0 a 1.6.2 y 2.0.0 a 2.5.1
* **NGINX** Ingress Controller 3.5.0 a 3.7.2, 4.0.0 a 4.0.1 y 5.0.0 a 5.4.1
Las correcciones estuvieron disponibles en **NGINX** Open Source 1.31.0 y 1.30.1, **NGINX** Plus R36 P4 y **NGINX** Plus R32 P6.
Para aquellos que no puedan actualizar, **F5** recomienda reemplazar los grupos de captura PCRE sin nombre ($1, $2, etc.) en las reglas 'rewrite' vulnerables con capturas nombradas, lo que elimina el requisito principal de explotación.
### Explotabilidad en el Mundo Real
Algunos investigadores de seguridad han cuestionado las afirmaciones de explotabilidad en el mundo real en torno a **CVE-2026-42945**, argumentando que la prueba de concepto de **DepthFirst** se basa en condiciones muy específicas que no están comúnmente presentes en las implementaciones predeterminadas.
El investigador Kevin Beaumont señaló que la explotación requiere una configuración vulnerable de **NGINX** que utilice patrones de reescritura particulares, el atacante debe conocer o descubrir el punto final afectado, y la PoC de RCE publicada se probó con **ASLR** desactivado.
Beaumont enfatizó que el exploit de los investigadores se construyó contra una configuración deliberadamente vulnerable y no demuestra una ejecución de código confiable contra sistemas del mundo real endurecidos.

**AlmaLinux** repitió una evaluación similar en su aviso, después de reproducir independientemente la falla.
Los mantenedores de la distribución Linux confirmaron que bloquear los procesos trabajadores de **NGINX** a través de una solicitud manipulada es trivial y confiable, lo que hace que los ataques de denegación de servicio sean realistas.
Sin embargo, declararon que convertir el desbordamiento de heap en una ejecución remota de código confiable en sistemas con **ASLR** habilitado "no es trivial", y no esperan que surja un exploit genérico y confiable del trabajo de **Depthfirst**.
Al mismo tiempo, **AlmaLinux** advirtió que "no es fácil" no significa imposible, y el potencial de DoS es suficiente por sí solo para tratar el problema como urgente.
## La Brecha de Validación: Las Pruebas de Penetración Automatizadas Responden Una Pregunta. Necesitas Seis.
Las herramientas de pruebas de penetración automatizadas brindan un valor real, pero fueron diseñadas para responder una pregunta: ¿puede un atacante moverse por la red? No fueron diseñadas para probar si sus controles bloquean amenazas, si sus reglas de detección se activan o si sus configuraciones en la nube son seguras.
Esta guía cubre las 6 superficies que realmente necesitas validar.
[Descargar Ahora](https://hubs.li/Q048zztN0)