
F5 ha publicado una solución para una falla crítica de nginx que podría permitir que un atacante remoto no autenticado provoque un desbordamiento del búfer en un proceso de trabajo con una solicitud HTTP diseñada. CVE-2026-42533 se parchó el 15 de julio en nginx 1.30.4 (estable) y 1.31.3 (línea principal) y NGINX Plus 37.0.3.1. Cualquiera que utilice versiones anteriores debería actualizar.
Activar esto puede provocar que el trabajador falle o se reinicie, lo que resultará en una denegación de servicio. Afirma que F5 también puede permitir la ejecución remota de código si ASLR está deshabilitado o puede omitirse.
Existe un desbordamiento dentro del motor de secuencias de comandos de nginx, que es el código que ensambla cadenas a partir de directivas en el momento de la solicitud. Esto solo aparece en ciertas configuraciones, es decir, mapas basados en expresiones regulares donde se hace referencia a la variable de salida en una expresión de cadena después de la captura de una coincidencia de expresiones regulares anterior.
En ese patrón, la evaluación de dos pasadas del motor será inconexa. La primera pasada mide el número de bytes necesarios para el resultado y asigna un búfer que se ajuste. La segunda pasada escribe los bytes. Ambos leen el mismo estado de captura compartido y la evaluación de la expresión regular del mapa entre las dos pasadas sobrescribe ese estado.
Por lo tanto, el paso de medida establece el tamaño del búfer de captura original, es decir, una referencia como $1 de la coincidencia de posición, mientras que el paso de escritura llena un búfer de tamaño diferente para el atacante. El búfer es demasiado pequeño, por lo que tanto la longitud como el contenido del desbordamiento se toman directamente de la solicitud.
Esto no afecta a todos los servidores nginx. La exposición depende no sólo de la versión sino también de la configuración. El aviso de F5 enumera la falla que afecta a NGINX Ingress Controller, Gateway Fabric, App Protect WAF e Instance Manager, además de Core Server y NGINX Plus, pero en el momento de la publicación, F5 no había enumerado compilaciones fijas para estos cuatro productos.
F5 obtiene una puntuación de 9,2 en CVSS v4 y 8,1 en la antigua escala v3.1, lo que le otorga una calificación alta en complejidad de ataque. La vulnerabilidad existe en todas las versiones de nginx desde la 0.9.6 hasta la 1.31.2 y se remonta a 2011, cuando Maps obtuvo soporte para expresiones regulares.
CVE-2026-42533 fue informado de forma independiente a F5 por más de una docena de investigadores. El proveedor agradeció a la empresa por «habernos informado sobre este problema de forma independiente». El propio registro de cambios de nginx atribuye esta solución a Mufeed VH de Winfunc Research y al mantenedor Maxim Dounin.
Uno de los periodistas, Stan Shaw, que publica como Cyberstan, publicó un artículo detallado que iba más allá de las recomendaciones. La condición F5 requiere que la ejecución de código bajo ASLR esté deshabilitada o se pueda omitir, y el argumento de Shaw es que esta falla proporciona la omisión en sí. Le dijo a The Hacker News que las anulaciones de captcha también funcionan a la inversa. Esto significa que si la captura sobrescrita es más pequeña que la captura original, un búfer de gran tamaño devolverá datos del montón no inicializados y, en la compilación predeterminada de Ubuntu 24.04, un único GET no autenticado recuperará la dirección necesaria para la carga útil.

«Cualquiera que lea el aviso de F5 podría concluir razonablemente que se trata de un ataque DoS sólo a sistemas predeterminados, pero ese no es el caso», afirmó Shaw. Esta es una afirmación más fuerte que la que hace F5, que según él alcanzó un 10 sobre 10 en sus propias pruebas, pero por ahora está ocultando los detalles del exploit y la prueba de concepto, por lo que nadie puede comprobarlo de forma independiente todavía.
Para solucionarlo, actualice a nginx 1.30.4 o 1.31.3, o NGINX Plus 37.0.3.1. Para aquellos que no pueden aplicar el parche de inmediato, una mitigación temporal para F5 es cambiar los mapas de expresiones regulares afectados a capturas con nombre, lo que cierra la ruta principal y cubre la mayoría de las configuraciones, dijo Shaw.
Sin embargo, dijo a Hacker News que las medidas de mitigación dejan abierto un camino aún más estrecho. Un mapa que define el mismo grupo con nombre como una expresión regular posicional alcanzaría el mismo desbordamiento a través de una segunda ruta de código, que confirmó con AddressSanitizer, pero no se menciona en la recomendación F5. «Actualizar a 1.30.4/1.31.3 es la única solución completa», dijo.
grep tiene un alcance limitado. Este es un mapa basado en expresiones regulares. Esa variable aparece en la expresión de cadena junto con las capturas numeradas ($1, $2) de la expresión regular anterior, y las capturas se escriben antes de la variable del mapa.
El escáner patentado de Shaw automatiza las comprobaciones en todas las configuraciones, siguiendo las inclusiones y marcando solo las secuencias explotables. Esto no explota nada, pero como herramienta de reportero no es un producto de proveedor.
Este es el tercer desbordamiento de montón en el código de evaluación de expresiones de nginx que se divulga en aproximadamente dos meses, luego del Rift en mayo (CVE-2026-42945) y el error de captura de duplicados del módulo de reescritura unos días después (CVE-2026-9256).

Los tres pertenecen a la misma clase de defectos. El motor de secuencias de comandos de dos pasos de Nginx establece el tamaño del búfer en un paso y escribe en el búfer en el siguiente paso, pero cada vez la escritura excede el tamaño medido. Los desencadenantes son diferentes. Bandera antigua en Rift, captura duplicada al reescribir error, estado de captura corrupto aquí. Como señalan los investigadores, una debilidad común es el diseño de dos pasos, que se basa en mediciones patentadas.
A partir del 20 de julio, CVE-2026-42533 no figuraba en el catálogo de vulnerabilidades conocidas y explotadas de CISA, y no había ningún código de explotación disponible públicamente. Shaw dice que publicará su propia prueba de concepto 21 días después del parche, pero Rift debería tener cuidado. El exploit Rift se publicó a los pocos días y estuvo en uso activo poco después. Es por eso que estoy actualizando antes de que llegue esto.
Hacker News preguntó a F5 si el cambio a capturas con nombre resuelve completamente CVE-2026-42533, dada la variante del documento Shaw, y cuándo se enviarán las compilaciones fijas de los productos posteriores afectados. F5 no ha respondido públicamente.
Source link
