Vulnerabilidad crítica en NGINX podría provocar caídas del servicio y ejecución remota de código

Glowing green NGINX logo in a dark data center with server racks in the background.

Una vulnerabilidad crítica identificada como CVE-2026-42533 afecta a múltiples versiones de NGINX y podría permitir que un atacante remoto, sin autenticación, provoque un desbordamiento de búfer en la memoria del proceso worker mediante solicitudes HTTP especialmente diseñadas.

El fallo fue corregido el 15 de julio de 2026 con el lanzamiento de NGINX 1.30.4, correspondiente a la rama estable, NGINX 1.31.3, de la rama mainline, y NGINX Plus 37.0.3.1. Se recomienda actualizar inmediatamente cualquier instalación que utilice versiones anteriores.

Impacto de la vulnerabilidad

La explotación exitosa de CVE-2026-42533 puede provocar que los procesos worker de NGINX se bloqueen o reinicien, generando interrupciones en el servicio y posibles escenarios de denegación de servicio.

En determinadas condiciones, especialmente cuando el mecanismo de protección ASLR se encuentra deshabilitado o puede ser evadido, la vulnerabilidad también podría permitir la ejecución remota de código.

Esto significa que un atacante podría, potencialmente, pasar de causar una interrupción en el servidor a ejecutar instrucciones dentro del sistema afectado.

La vulnerabilidad recibió una puntuación de 9.2 bajo CVSS v4 y de 8.1 bajo CVSS v3.1, aunque su complejidad de explotación ha sido clasificada como alta debido a que requiere una configuración específica.

Origen técnico del fallo

El problema se encuentra en el motor de scripts de NGINX, responsable de construir cadenas dinámicas a partir de distintas directivas durante el procesamiento de una solicitud.

La vulnerabilidad aparece cuando la configuración combina:

  • Una directiva map basada en expresiones regulares.
  • Una variable generada por ese map.
  • Una referencia a capturas numeradas, como $1 o $2, obtenidas previamente mediante otra expresión regular.
  • Una expresión de cadena en la que la captura aparece antes que la variable del map.

NGINX utiliza un sistema de evaluación de dos fases. En la primera fase calcula la cantidad de memoria necesaria para almacenar el resultado y reserva un búfer. En la segunda fase escribe el contenido dentro de ese espacio.

El problema ocurre porque ambas fases utilizan el mismo estado compartido de capturas de expresiones regulares. Si una evaluación intermedia modifica esas capturas, la primera fase puede calcular el tamaño utilizando un valor y la segunda escribir datos diferentes y más extensos.

Como resultado, el contenido escrito supera el espacio reservado y provoca un desbordamiento de búfer en el heap.

El tamaño y el contenido de los datos que exceden el búfer pueden estar controlados directamente mediante una solicitud HTTP manipulada.

Versiones afectadas

La vulnerabilidad afecta a versiones de NGINX desde la 0.9.6 hasta la 1.31.2.

El amplio rango de versiones vulnerables se debe a que el soporte de expresiones regulares dentro de la directiva map fue incorporado hace varios años y forma parte de numerosas configuraciones heredadas.

Sin embargo, no todos los servidores NGINX son explotables automáticamente. La exposición depende tanto de la versión instalada como de la configuración utilizada.

También pueden verse afectados productos y soluciones que incorporan NGINX como componente, incluyendo controladores de ingreso, herramientas de gestión, gateways y módulos de protección de aplicaciones.

Posible fuga de información de memoria

Además del desbordamiento de búfer, investigadores han identificado un escenario adicional relacionado con el manejo incorrecto de las capturas.

Cuando la nueva captura es más pequeña que la original, el sistema podría reservar un búfer de mayor tamaño y devolver partes de memoria no inicializada.

Esta condición podría filtrar direcciones internas del proceso y facilitar la evasión de ASLR, una protección diseñada para dificultar la explotación de vulnerabilidades de memoria.

Aunque todavía no existe una prueba de concepto pública que permita validar completamente este escenario, las pruebas realizadas en entornos controlados indican que una sola solicitud GET podría ser suficiente para recuperar información útil de la memoria del servidor.

Mitigación temporal

Para entornos donde no sea posible actualizar inmediatamente, se recomienda revisar las configuraciones que utilicen mapas basados en expresiones regulares y sustituir las capturas numéricas por capturas con nombre.

Por ejemplo, en lugar de utilizar referencias como:

$1
$2

Se pueden utilizar grupos con nombre dentro de las expresiones regulares.

No obstante, esta medida debe considerarse únicamente temporal. Se ha identificado una variante en la que el mismo grupo con nombre es definido tanto en la expresión regular del bloque location como en la directiva map, lo que podría alcanzar el mismo desbordamiento mediante una ruta de ejecución diferente.

Por este motivo, la actualización sigue siendo la única corrección completa.

Recomendaciones de seguridad

Las organizaciones que utilicen NGINX deben tomar las siguientes medidas:

  1. Actualizar a NGINX 1.30.4, NGINX 1.31.3 o NGINX Plus 37.0.3.1.
  2. Identificar todas las instancias de NGINX expuestas a internet.
  3. Revisar archivos de configuración y directivas incluidas mediante include.
  4. Buscar directivas map que utilicen expresiones regulares.
  5. Identificar cadenas que combinen capturas numéricas con variables generadas por mapas.
  6. Revisar reinicios inesperados o bloqueos de procesos worker.
  7. Analizar registros HTTP en busca de solicitudes anómalas o entradas excesivamente largas.
  8. Verificar si existen componentes adicionales que integren versiones vulnerables de NGINX.
  9. Mantener ASLR y otras protecciones de memoria habilitadas.
  10. Aplicar monitoreo reforzado hasta completar la actualización de todos los sistemas.

Riesgo de explotación futura

Hasta el 20 de julio de 2026, la vulnerabilidad no figuraba en el catálogo de vulnerabilidades conocidas explotadas de CISA y no se había publicado código de explotación.

Sin embargo, se espera que los detalles técnicos y una prueba de concepto puedan hacerse públicos después del periodo de divulgación responsable.

La ausencia de un exploit público no debe interpretarse como ausencia de riesgo. Una vez que aparezcan detalles adicionales, actores maliciosos podrían utilizarlos para automatizar la identificación y explotación de servidores vulnerables.

Conclusión

CVE-2026-42533 representa un riesgo importante para servidores NGINX que utilicen configuraciones específicas con expresiones regulares, mapas y referencias a capturas.

Aunque la explotación requiere una combinación concreta de directivas, el gran número de versiones afectadas y la posibilidad de controlar tanto el tamaño como el contenido del desbordamiento incrementan su impacto potencial.

Las organizaciones deben priorizar la actualización y no depender únicamente de cambios temporales en la configuración. Corregir la vulnerabilidad antes de la publicación de herramientas de explotación será clave para reducir la superficie de ataque y evitar posibles interrupciones o compromisos de los servidores.

Related Post