
Exploit de prova de conceito para CVE-2026-42945, uma vulnerabilidade crítica de estouro de buffer no heap no módulo rewrite do NGINX, permitindo execução remota de código através de requisições URI maliciosas.
Um estouro de buffer heap no componente ngx_http_rewrite_module do NGINX que foi introduzido em 2008 -- ou seja, existiu por 16 anos antes da descoberta.
A vulnerabilidade está no mecanismo de script de duas passagens:
O problema: o estado interno do motor muda entre as duas passagens. Quando uma substituição de rewrite contém um ? (ponto de interrogação), uma flag não propagada causa uma alocação de buffer subdimensionada, permitindo que dados de URI escapados controlados pelo atacante transbordem o limite do 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 obter RCE (ignorando ASLR):
ngx_pool_tngx_pool_cleanup_s falsa invocando system() na destruição do poolCVEs relacionados descobertos pelo mesmo sistema: CVE-2026-42946, CVE-2026-40701, CVE-2026-42934
DepthFirstDisclosures/Nginx-Rift no GitHubEsta vulnerabilidade foi descoberta autonomamente pelo sistema de análise de segurança da DepthFirst após um único clique de integração do código-fonte do NGINX -- destacando o poder da descoberta automatizada de vulnerabilidades.
? nas substituições