Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
nginx-rift-detect — Script di rilevamento comportamentale per CVE-2026-42945 (NGINX Rift) — heap overflow in ngx_http_rewrite_module. Nessuna RCE, rilevamento solo tramite crash. | Kitploit
Strumenti/GitHubGitHub/iammerrida-source/nginx-rift-detect
Scanner di VulnerabilitàExploitRaccolta InformazioniSicurezza WebSicurezza di RetePenetration Testing
GitHubiammerrida-source/nginx-rift-detect

nginx-rift-detect

Script di rilevamento comportamentale per CVE-2026-42945 (NGINX Rift) — heap overflow in ngx_http_rewrite_module. Nessuna RCE, rilevamento solo tramite crash.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
33 mesi faNon ancora revisionato

nginx-rift-detect

Script di rilevamento comportamentale per CVE-2026-42945 (NGINX Rift) — un heap buffer overflow in ngx_http_rewrite_module presente in nginx dal 2008.

Python CVE CVSS License


⚠️ Disclaimer

Questo strumento è destinato esclusivamente a test di sicurezza autorizzati e attività di ricerca. Eseguilo solo su sistemi di tua proprietà o per i quali hai esplicita autorizzazione scritta. L'uso non autorizzato può violare le leggi sui crimini informatici nella tua giurisdizione. L'autore non è responsabile per qualsiasi uso improprio o danno causato da questo strumento.


Contesto

CVE-2026-42945 è un heap buffer overflow nel motore di script rewrite di nginx (ngx_http_rewrite_module), introdotto nella versione 0.6.27 (2008) e presente per circa 18 anni.

Il bug deriva da una discrepanza tra due passaggi del motore rewrite:

  • Passaggio 1 (calcolo della lunghezza): vede is_args = 0 → alloca un buffer piccolo
  • Passaggio 2 (copia dei dati): vede is_args = 1 → chiama ngx_escape_uri, espandendo ogni byte escapabile (come +) a 3 volte la sua dimensione → supera il buffer heap

Ciò consente l'esecuzione remota di codice non autenticata.

Versioni interessate:

ProdottoVulnerabileCorretta
NGINX Open Source0.6.27 – 1.30.01.30.1, 1.31.0+
NGINX PlusR32 – R36R36 P4, R35 P2, R32 P6

Riferimenti:

  • Ricerca originale e PoC — DepthFirstDisclosures
  • Avviso di sicurezza F5 K000160932

Come funziona il rilevamento

Questo script non tenta RCE. Imita il flusso del PoC utilizzando socket raw:

  1. Canary — invia 3 richieste normali per confermare che il server sia stabile prima del test
  2. Heap spray — apre 20 connessioni per trattenere memoria
  3. Trigger — invia GET /api/<349×A><969×+> come richiesta HTTP parziale
  4. Probe — se il socket trigger si chiude inaspettatamente (worker crashato e riavviato), il target viene segnalato come vulnerabile

Il rilevamento si basa sul crash di un processo worker. Il master nginx lo riavvierà immediatamente, ma ci sarà una breve interruzione. Usare con cautela su sistemi di produzione.


Utilizzo

root@kitploit:~
# Singolo target (HTTP)
python3 detect-CVE-2026-42945.py --host 127.0.0.1 --port 80

# Singolo target (HTTPS)
python3 detect-CVE-2026-42945.py --host example.com --port 443 --tls

# Lista di target
python3 detect-CVE-2026-42945.py -l targets.txt

# Con threading e file di output
python3 detect-CVE-2026-42945.py -l targets.txt --threads 10 -o vulnerable.txt

# Più tentativi per target inaffidabili
python3 detect-CVE-2026-42945.py --host 10.0.0.1 --port 8080 --tries 5

Formato di targets.txt — uno per riga:

root@kitploit:~
http://example.com
https://example.com:8443
192.168.1.1
192.168.1.1:8080

Opzioni:

root@kitploit:~
--host          Host singolo target
--port          Porta (default: 80, o 443 con --tls)
--tls           Usa TLS/HTTPS per singolo target
-l, --list      File con lista di target
--tries         Tentativi di rilevamento per target (default: 3)
--threads       Thread concorrenti per scansione lista (default: 5)
-o, --output    Salva target vulnerabili in file CSV

Output di esempio

root@kitploit:~
[*] CVE-2026-42945 NGINX Rift Detection | targets=2 threads=5 tries=3

[*] http://192.168.1.1:80   - nginx/1.28.0
[*] http://192.168.1.2:8080 - nginx/1.31.0

[!!!] VULNERABLE | http://192.168.1.1:80 | nginx/1.28.0 | worker crash (trigger connection closed — worker respawned)
[+]   http://192.168.1.2:8080 - not vulnerable (or timing miss, try --tries 5)

==================================================
[*] Scan complete. 2 targets scanned.
[!!!] 1 VULNERABLE target(s):
      http://192.168.1.1:80 (nginx/1.28.0)
==================================================

Test contro il laboratorio

Il repository originale include un ambiente di laboratorio Docker:

root@kitploit:~
git clone https://github.com/DepthFirstDisclosures/Nginx-Rift
cd Nginx-Rift
chmod +x setup.sh && ./setup.sh
docker compose -f env/docker-compose.yml up -d

python3 detect-CVE-2026-42945.py --host 127.0.0.1 --port 19321

Licenza

MIT — consulta LICENSE


Ricerca originale sulla vulnerabilità e PoC: DepthFirstDisclosures

Scarica lo strumento