Poco después del descubrimiento 18 años de edad Se descubrió otro posible RCE, CVE-2026-9256, esta vez existiendo durante aún más tiempo: 21 años, comenzando con la versión 0.1.17, lanzada a principios de 2005.
Para explotar la vulnerabilidad, la configuración del servidor requiere una directiva de reescritura que:
- El primer argumento contiene parámetros de selección de expresiones regulares superpuestos,
- El segundo utiliza dos o más de ellos, pero no utiliza variables,
- En este caso, o bien se especifica el tipo "redirect", o bien los parámetros del segundo argumento se encuentran después del signo de interrogación.
Ejemplos:
reescribir ^/((.*))$ http://127.0.0.1:8080/$1$2 redirigir;
reescribir ^/((.*))$ http://127.0.0.1:8080/?$1$2;
Ambos obtendrán un desbordamiento de búfer al procesar la solicitud "/++++++++++++++++++++++++++++++".
Al igual que con la vulnerabilidad anterior, en este caso la longitud del búfer calculada puede no coincidir con la cantidad real de datos escritos en él; no siempre se tuvo en cuenta el posible blindaje al calcular la longitud.
Lo anterior puede provocar la caída del proceso de trabajo de nginx y, en ausencia de ALSR, una ejecución remota de código (RCE). Como circunstancia atenuante, la probabilidad de encontrar estructuras vulnerables en la configuración es incluso menor que la última vez.
El error se corrigió en las versiones 1.30.2 y 1.31.1 (corrección de confirmación).
Fuente: linux.org.ru
