Nueva vulnerabilidad en el módulo rewrite de nginx

Poco después del descubrimiento de 18 años se descubrió otra posible RCE, CVE-2026-9256, esta vez existió aún más tiempo — 21 años, comenzando desde la versión 0.1.17, lanzada a principios de 2005.
Para explotar la vulnerabilidad, se necesita que en la configuración del servidor haya una directiva rewrite que:

  • en el primer argumento contenga parámetros de expresión regular solapados,
  • en el segundo use dos o más de ellos, pero no se usen variables,
  • y además, ya sea que se especifique el tipo 'redirect', o que los parámetros en el segundo argumento se encuentren después del signo de interrogación.

Ejemplos:
rewrite ^/((.*))$ http://127.0.0.1:8080/$1$2 redirect;
rewrite ^/((.*))$ http://127.0.0.1:8080/?$1$2;

Ambos causarán un desbordamiento del búfer al procesar la solicitud '/++++++++++++++++++++++++++++++'.

Al igual que en la vulnerabilidad anterior, en este caso la longitud calculada del búfer puede no coincidir con la cantidad real de datos escritos en él; en el cálculo de la longitud no se tuvo en cuenta el posible escape en todas partes.

Lo anterior puede llevar a un fallo en el proceso de trabajo de nginx, y en ausencia de ALSR — a RCE. Como atenuante, se puede señalar una probabilidad aún menor de encontrar construcciones vulnerables en la configuración que la vez anterior.

El error fue corregido en las versiones 1.30.2 y 1.31.1 (commit de la corrección).

Fuente: linux.org.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster