Un grupo de investigadores de seguridad de Depthfirst ha detectado una vulnerabilidad que afecta al módulo de reescritura de NGINX y que ha estado oculta durante 18 años. Se trata de un popular servidor web, por lo que son muchos los que pueden estar afectados por este problema. Vamos a explicarte qué puede ocurrir y qué deberías hacer para estar protegido en todo momento.
Puedes leer toda la información en la publicación con fecha de 13 de mayo en su web oficial. Allí explican todos los detalles relacionados con este descubrimiento. Afecta a NGINX Plus y NGINX Open. Son varias las vulnerabilidades que han detectado, pero una de ellas es más llamativa, ya que ha estado presente durante casi dos décadas.
Fallos de seguridad en NGINX
Esta vulnerabilidad de 18 años ha sido registrada como CVE-2026-42945 y ha recibido una puntuación de 9.2 en la escala CVSS v4, lo que nos demuestra la importancia que tiene. Consiste en un desbordamiento de búfer en el montón y afecta exactamente a ngx_http_rewrite_module.
En caso de que un atacante pudiera explotar este fallo, podría llevar a cabo la ejecución remota de código o provocar denegación de servicio al realizar solicitudes manipuladas. Según explican los investigadores de seguridad, esta vulnerabilidad se presenta cuando la directiva rewrite va seguida de 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, sin necesidad de estar autenticado, podría enviar solicitudes HTTP manipuladas y esto provocar un desbordamiento de búfer en el proceso de trabajo de NGINX. Esto podría derivar en reinicios e incluso la ejecución de código. Este fallo ha sido denominado como NGINX Rift.
Pero, ¿qué hace que este fallo sea tan relevante? El motivo es que NGINX se utiliza en muchas páginas web, APIs, en la nube, CDNs, NAS, domótica… Hay muchas infraestructuras que dependen de esto y estamos hablando de un fallo que ha estado presente durante 18 años.
Problema solucionado
El pasado 21 de abril hicieron público este problema. Ya está solucionado, pero es necesario que los usuarios cuenten con las últimas versiones. En concreto, las siguientes versiones, según la información dada por Depthfirst:
- 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 hay correcciones previstas)
- 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
El consejo claro es actualizar lo antes posible. No obstante, en caso de que esto no fuera posible, se recomienda a los usuarios modificar la configuración de reescritura, reemplazando las capturas sin nombre por capturas con nombre en todas las directivas de reescritura afectadas.
Además, hay que indicar que NGINX ha corregido otras tres vulnerabilidades, aunque de menor importancia. Son las vulnerabilidades CVE-2026-42946, que ha recibido una puntuación de 8.3 en la escala CVSS v4; la CVE-2026-40701, con puntuación de 6.3 en la escala CVSS v4; y la vulnerabilidad CVE-2026-42934, también con una puntuación de 6.3 en la escala CVSS v4.
