
Un heap buffer overflow nel componente ngx_http_rewrite_module di NGINX, introdotto nel 2008 -- il che significa che è esistito per 16 anni prima della scoperta.
La vulnerabilità risiede nel motore script a due passaggi:
Il problema: lo stato interno del motore cambia tra i due passaggi. Quando una sostituzione di rewrite contiene un ? (punto interrogativo), un flag non propagato causa un'allocazione del buffer di dimensioni insufficienti, consentendo che dati URI escaped controllati dall'attaccante superino il limite dell'heap.
# Concettuale: riempire la URI della richiesta con segni '+' forza
# la funzione di escaping a espandere ogni byte in tre byte,
# facendo overflow del chunk allocato. La dimensione dell'overflow è
# completamente controllata dal numero di caratteri escapabili.
Per ottenere RCE (bypassando ASLR):
ngx_pool_tngx_pool_cleanup_s che invoca system() alla distruzione del poolCVE correlate scoperte dallo stesso sistema: CVE-2026-42946, CVE-2026-40701, CVE-2026-42934
DepthFirstDisclosures/Nginx-Rift su GitHubQuesta vulnerabilità è stata scoperta autonomamente dal sistema di analisi della sicurezza di DepthFirst dopo un singolo clic di onboarding del codice sorgente NGINX -- a sottolineare la potenza della scoperta automatizzata delle vulnerabilità.
? nelle sostituzioni