
CVE-2026-42945
Overflow del buffer heap critico in NGINX
CVE-2026-42945 (noto anche come NGINX Rift) è una vulnerabilità di sicurezza critica nel modulo ngx_http_rewrite_module di NGINX.
La vulnerabilità deriva da un calcolo incoerente della dimensione del buffer tra la fase di controllo della lunghezza e la fase effettiva di copia/escape durante la gestione delle regole di riscrittura URI.
| Stato | Versioni |
|---|---|
| Affette | 0.6.27 → 1.30.0 |
| Corrette | 1.30.1 e 1.31.0+ |
| Stato | Release |
|---|---|
| Affette | R32 → R36 |
| Corrette | R36 P4, R32 P6, 37.0.0+ |
Nota: Molti prodotti F5 NGINX (Ingress Controller, App Protect, Gateway Fabric, ecc.) sono interessati se eseguiti su versioni di base vulnerabili.
Il bug viene attivato da una specifica combinazione di direttive:
rewrite la cui stringa di sostituzione contiene un ? (attiva il flag is_args).rewrite, if o set che utilizza catture PCRE senza nome ($1, $2, ecc.).is_args = false) → sottostima la dimensione del buffer richiesta.is_args = true) → chiama ngx_escape_uri() con NGX_ESCAPE_ARGS.+, &, %, ecc.) nell'URI causa overflow dell'heap.| Impatto | Gravità | Descrizione |
|---|---|---|
| Denial of Service | Alta | Arresto affidabile del processo worker |
| Remote Code Execution | Critica (condizionale) | Possibile quando ASLR è disabilitato o aggirato |
| Complessità dell'Attacco | Bassa | Singola richiesta HTTP, nessuna autenticazione |
Punteggio CVSS v4.0: 9.2 (Critico)
Punteggio CVSS v3.1: 8.1 (Alto)
Sostituire le catture senza nome con catture con nome:
rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last;
rewrite ^/users/(?<user_id>[0-9]+)/profile/(?<section>.*)$ /profile.php?id=$user_id&tab=$section last;
Raccomandazione chiave: Controllare tutte le regole di riscrittura che combinano stringhe di sostituzione contenenti ? e l'uso successivo di $1, $2, ecc.
CVE-2026-42945 è una delle vulnerabilità NGINX più significative degli ultimi anni per la sua lunga esistenza, facilità di sfruttamento e potenziale per RCE.
Agisci ora — correggi le tue istanze e aggiorna le tue configurazioni.
Fatto con ❤️ per la comunità della sicurezza