
CVE-2026-42945: script di analisi della vulnerabilità e rilevamento nginx-rift
Strumento di valutazione del rischio locale per CVE-2026-42945 (Nginx Rift). A differenza di chi ti dice semplicemente "se la versione è vulnerabile, sei a rischio", questo script controlla a più livelli le tre condizioni che determinano realmente il rischio, fornendo una conclusione adattata alla tua situazione.
CVE-2026-42945 è una vulnerabilità di heap buffer overflow (CWE-122) presente da 18 anni nel modulo ngx_http_rewrite_module di nginx, con punteggio CVSS 4.0 di 9.2. Ma nell'annuncio c'è una limitazione chiave:
"Esecuzione di codice possibile su sistemi senza protezione ASLR"
La RCE è possibile solo se sono soddisfatte contemporaneamente tre condizioni:
rewrite + setSe manca una qualsiasi, il caso peggiore è il crash del worker process con successivo riavvio automatico (DoS), non la compromissione del server.
Analisi dettagliata: «La bomba nascosta da 18 anni in nginx: la vulnerabilità 9.2 ha colpito il tuo server?»
# Esegui (richiede sudo per leggere la configurazione completa di nginx)
sudo bash check_cve_2026_42945.sh
Lo script controlla in sequenza i seguenti quattro elementi; se uno qualsiasi non è soddisfatto, termina anticipatamente con una conclusione:
Scenario 1: Versione vulnerabile, ma assenza di configurazione trigger (più comune)
[*] Versione nginx: 1.24.0
[!] La versione 1.24.0 è nell'intervallo vulnerabile, continuo a controllare le condizioni di trigger...
[*] Scansione della configurazione nginx (verifica combinazione rewrite+set vulnerabile)...
[✓] Nessuna configurazione di trigger trovata (combinazione rewrite+set)
Conclusione: Versione vulnerabile, ma assenza di configurazione trigger, rischio reale molto basso
Suggerimento: Pianificare l'aggiornamento a 1.30.1 / 1.31.0, nessuna azione urgente
Scenario 2: Configurazione trigger presente, ASLR attivo, protezioni di compilazione complete
[!] La versione 1.24.0 è nell'intervallo vulnerabile, continuo a controllare le condizioni di trigger...
[!] Trovata configurazione di trigger:
→ location ~ ^/api/(.*)$ {
[✓] ASLR attivo (livello 2, randomizzazione completa)
→ I prerequisiti per uno sfruttamento affidabile di RCE non sono soddisfatti, il caso peggiore è il crash del worker process (DoS)
[✓] Rilevato -fcf-protection (protezione del flusso di controllo Intel CET)
[✓] Rilevato FORTIFY_SOURCE=3
[✓] Rilevato Full RELRO (GOT in sola lettura)
[✓] Rilevata protezione dello stack (stack-protector)
Livello di rischio: Basso
Suggerimento: Aggiornare a nginx 1.30.1 / 1.31.0 durante la prossima finestra di manutenzione
Scenario 3: Configurazione trigger presente, ASLR disattivato
[!] Trovata configurazione di trigger:
→ location ~ ^/api/(.*)$ {
[✗] ASLR disattivato! Rischio RCE significativamente aumentato
Livello di rischio: Alto (DoS certo / RCE possibile)
Azioni immediate:
1. Rimuovere o modificare temporaneamente la configurazione rewrite+set che attiva la vulnerabilità
2. Assicurarsi che ASLR sia attivo: echo 2 | sudo tee /proc/sys/kernel/randomize_va_space
3. Aggiornare nginx: apt install nginx oppure compilare installando 1.30.1+
| Prodotto | Versioni vulnerabili | Versione corretta |
|---|---|---|
| NGINX Open Source | 0.6.27 – 1.30.0 | 1.30.1 / 1.31.0 |
| NGINX Plus | R32 – R36 | R36 P4 / R35 P2 / R32 P6 |
# Ubuntu / Debian
sudo apt update && sudo apt install nginx
# Verifica versione
nginx -v
Annuncio ufficiale: https://my.f5.com/manage/s/article/K000161019
Lo script è stato verificato nei seguenti scenari:
Ambiente di test: Ubuntu 22.04 LTS, nginx 1.24.0 (pacchetto ufficiale Ubuntu)
include annidati potrebbero non essere rilevate (lo script espande tutti gli include con nginx -T, coprendo la stragrande maggioranza dei casi)MIT
| Elemento | Descrizione |
|---|
| Versione nginx | Intervallo vulnerabile: 0.6.27 – 1.30.0 |
| Configurazione trigger vulnerabilità | All'interno dello stesso blocco location, presenza simultanea di rewrite con ? e set con gruppo di cattura |
| Stato ASLR | Lettura di /proc/sys/kernel/randomize_va_space |
| Compilazione con protezioni | Rilevamento di -fcf-protection / FORTIFY_SOURCE / Full RELRO / protezione stack |
| Livello | Significato | Tempistica consigliata |
|---|
| Nessun impatto | nginx non installato o versione già corretta | Nessuna azione |
| Molto basso | Versione vulnerabile ma assenza di configurazione trigger | Aggiornare durante la prossima manutenzione ordinaria |
| Basso | Configurazione trigger presente, ma ASLR attivo e protezioni di compilazione complete | Aggiornare nella prossima finestra di manutenzione |
| Medio | Configurazione trigger presente, protezioni incomplete | Aggiornare al più presto, disponibilità a rischio |
| Alto | Configurazione trigger presente + ASLR disattivato + protezioni assenti | Azione immediata |