Vulnerabilidad Crítica en NGINX Corregida Tras 18 Años, Expone Servidores a Ejecución Remota de Código
Investigadores de seguridad han descubierto una vulnerabilidad crítica de desbordamiento de búfer en el heap en **NGINX Plus** y **NGINX Open Source**, denominada **NGINX Rift** (**CVE-2026-42945**), que pasó desapercibida durante 18 años. Esta falla podría permitir a atacantes no autenticados lograr la ejecución remota de código o causar una denegación de servicio (DoS) a través de solicitudes HTTP especialmente diseñadas.

### NGINX Rift: Un Análisis Profundo de CVE-2026-42945
La vulnerabilidad, descubierta por **depthfirst**, reside en el módulo `ngx_http_rewrite_module`. Según **F5**, la falla existe cuando la directiva `rewrite` es seguida por una directiva `rewrite`, `if` o `set` y una captura de expresión regular compatible con Perl (PCRE) sin nombre (por ejemplo, $1, $2) con una cadena de reemplazo que incluye un signo de interrogación (?).
Un atacante no autenticado, bajo ciertas condiciones, puede explotar esta falla enviando solicitudes HTTP especialmente diseñadas. Esto puede llevar a un desbordamiento de búfer en el heap del proceso trabajador de NGINX, causando potencialmente un reinicio o, si la Aleatorización del Espacio de Direcciones (ASLR) está deshabilitada, la ejecución remota de código.
### Versiones Afectadas e Información de Parche
El problema ha sido abordado en las siguientes versiones tras una divulgación responsable el 21 de abril de 2026:
* NGINX Plus R32 - R36 (Correcciones introducidas en R32 P6 y R36 P4)
* NGINX Open Source 1.0.0 - 1.30.0 (Correcciones introducidas en 1.30.1 y 1.31.0)
* NGINX Open Source 0.6.27 - 0.9.7 (No se planean correcciones)
* NGINX Instance Manager 2.16.0 - 2.21.1
* F5 WAF para NGINX 5.9.0 - 5.12.1
* NGINX App Protect WAF 4.9.0 - 4.16.0
* NGINX App Protect WAF 5.1.0 - 5.8.0
* F5 DoS para NGINX 4.8.0
* NGINX App Protect DoS 4.3.0 - 4.7.0
* NGINX Gateway Fabric 1.3.0 - 1.6.2
* NGINX Gateway Fabric 2.0.0 - 2.5.1
* NGINX Ingress Controller 3.5.0 - 3.7.2
* NGINX Ingress Controller 4.0.0 - 4.0.1
* NGINX Ingress Controller 5.0.0 - 5.4.1
### Explotabilidad e Impacto
El aviso de Depthfirst destaca la gravedad de la vulnerabilidad, señalando que permite a un atacante remoto y no autenticado corromper el heap de un proceso trabajador de NGINX enviando una URI especialmente diseñada. La facilidad de explotación, junto con el potencial de ejecución remota de código, la convierte en un problema crítico.
"Un atacante que pueda acceder a un servidor NGINX vulnerable a través de HTTP puede enviar una sola solicitud que desborde el heap en el proceso trabajador y logre la ejecución remota de código", afirmó depthfirst. "No hay paso de autenticación, ningún requisito de acceso previo y ninguna necesidad de una sesión existente."
Las solicitudes repetidas también pueden usarse para crear un bucle de bloqueo, degradando significativamente la disponibilidad de los sitios servidos por la instancia afectada.
### Vulnerabilidades Adicionales Corregidas
Además de **CVE-2026-42945**, las últimas versiones de NGINX también abordan las siguientes vulnerabilidades:
* **CVE-2026-42946** (puntuación CVSS v4: 8.3): Una vulnerabilidad de asignación excesiva de memoria en los módulos `ngx_http_scgi_module` y `ngx_http_uwsgi_module`, que podría permitir a un atacante remoto con capacidades de adversario en el medio (AitM) leer la memoria del proceso trabajador de NGINX o desencadenar un reinicio.
* **CVE-2026-40701** (puntuación CVSS v4: 6.3): Una vulnerabilidad de uso después de liberación en el módulo `ngx_http_ssl_module`, que podría otorgar a un atacante remoto control limitado sobre la modificación de datos o la capacidad de reiniciar el proceso trabajador de NGINX.
* **CVE-2026-42934** (puntuación CVSS v4: 6.3): Una vulnerabilidad de lectura fuera de límites en el módulo `ngx_http_charset_module`, que podría permitir a un atacante remoto divulgar contenido de memoria o reiniciar el proceso trabajador de NGINX.
### Mitigación y Recomendaciones
Se recomienda encarecidamente a los usuarios que apliquen las últimas versiones de NGINX para garantizar una protección óptima. Si el parcheo inmediato no es factible para **CVE-2026-42945**, una solución temporal implica cambiar la configuración de reescritura reemplazando las capturas sin nombre por capturas con nombre en cada directiva de reescritura afectada.