
Exploit de prueba de concepto para CVE-2026-42945, un desbordamiento crítico de búfer en el montón en el módulo de reescritura de NGINX que permite la ejecución remota de código mediante solicitudes URI manipuladas.
Un desbordamiento de búfer en el heap en el componente ngx_http_rewrite_module de NGINX que fue introducido en 2008 -- lo que significa que existió durante 16 años antes de su descubrimiento.
La vulnerabilidad está en el motor de scripts de dos pasos:
El problema: el estado interno del motor cambia entre los dos pasos. Cuando una sustitución de reescritura contiene un ? (signo de interrogación), una bandera no propagada provoca una asignación de búfer de tamaño insuficiente, permitiendo que los datos de URI escapados controlados por el atacante desborden el límite del heap.
# Conceptual: padding request URI with '+' signs forces
# the escaping function to expand each byte into three bytes,
# overflowing the allocated chunk. The overflow size is
# fully controlled by the number of escapable characters.
Para lograr RCE (bypass ASLR):
ngx_pool_t adyacentengx_pool_cleanup_s falso invocando system() en la destrucción del poolCVEs relacionados descubiertos por el mismo sistema: CVE-2026-42946, CVE-2026-40701, CVE-2026-42934
DepthFirstDisclosures/Nginx-Rift en GitHubEsta vulnerabilidad fue descubierta de forma autónoma por el sistema de análisis de seguridad de DepthFirst después de un solo clic de incorporación del código fuente de NGINX -- destacando el poder del descubrimiento automatizado de vulnerabilidades.
? en las sustituciones