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-scanner — Scanner solo di rilevamento per CVE-2026-42945 (NGINX Rift), un heap overflow in ngx_http_rewrite_module. Rilevamento della versione + analisi dei pattern di nginx.conf. Solo libreria standard Python 3, nessuna chiamata di rete. | Kitploit
Strumenti/GitHubGitHub/simota/nginx-rift-scanner
Analisi StaticaScanner di VulnerabilitàAnalisi delle VulnerabilitàAnalisi del CodiceAudit di ConfigurazioneSicurezza Web
GitHubsimota/nginx-rift-scanner

nginx-rift-scanner

Scanner solo di rilevamento per CVE-2026-42945 (NGINX Rift), un heap overflow in ngx_http_rewrite_module. Rilevamento della versione + analisi dei pattern di nginx.conf. Solo libreria standard Python 3, nessuna chiamata di rete.

Vedi Repository
12 mesi faNon ancora revisionato

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

nginx-rift-scanner

Scanner Python 3 senza dipendenze per CVE-2026-42945 ("NGINX Rift") — un overflow del buffer basato su heap (CWE-122) con punteggio CVSS v4.0 9.2 CRITICO in ngx_http_rewrite_module.

Cosa rileva

Due controlli indipendenti vengono eseguiti a ogni invocazione:

ControlloCome
Versionenginx -V, dpkg/rpm/apk, Dockerfile/compose image tags
Pattern di configurazioneAnalisi con riconoscimento delle parentesi di nginx.conf + tutti i file include

Versioni affette

Nota su 1.30.1: la build stabile patchata di 1.30.1 riporta la stessa stringa di versione di quella vulnerabile, quindi lo scanner classifica qualsiasi 1.30.1 come POTENTIALLY_VULNERABLE (exit 1, conservativo). Verifica il changelog del pacchetto / il backport dell'avviso per confermare che la patch sia applicata.

Pattern di attivazione della configurazione

Un blocco di scope viene segnalato quando tutte e tre le condizioni sono vere:

  1. Una direttiva rewrite, if, o set utilizza un riferimento a cattura PCRE senza nome ($1–$9, inclusa la forma con parentesi ${1}–${9}).
  2. L'argomento valore/sostituzione di quella direttiva contiene un carattere ? (per rewrite/set l'argomento del pattern regex è escluso — un ? lì è un quantificatore PCRE; le condizioni if vengono scansionate in modo conservativo).
  3. Un'altra direttiva rewrite/if/ (gli include vengono inseriti nello scope includente, quindi le coppie che attraversano un confine vengono rilevate).

Avvio rapido

root@kitploit:~
# Clona ed esegui
git clone https://github.com/simota/nginx-rift-scanner.git
cd nginx-rift-scanner

# Scansiona nginx locale (binario in PATH, config in /etc/nginx/nginx.conf)
python3 scripts/scan_nginx_rift.py

# Percorsi personalizzati
python3 scripts/scan_nginx_rift.py \
  --nginx-binary /usr/sbin/nginx \
  --config /etc/nginx/nginx.conf \
  --prefix /etc/nginx \
  --scan-dir /app

# Output JSON (CI / SIEM)
python3 scripts/scan_nginx_rift.py --json

# Convalida con i fixture inclusi
python3 scripts/scan_nginx_rift.py --config fixtures/vulnerable.nginx.conf
python3 scripts/scan_nginx_rift.py --config fixtures/safe.nginx.conf

Codici di uscita: 0 = pulito, 1 = versione VULNERABLE / POTENTIALLY_VULNERABLE o pattern di configurazione segnalato.

Opzioni

Mitigazione

Aggiornamento (consigliato):

  • OSS → NGINX ≥ 1.31.0 (o applicare la patch stabile 1.30.1)
  • Plus → R32P6+, R36P4+, o R37+

Soluzione alternativa — sostituire le catture senza nome con catture nominate in ogni direttiva rewrite/if/set che contiene anche ?:

root@kitploit:~
# Vulnerabile
rewrite ^/api/(\w+)$ /new-api?path=$1 last;

# Sicuro
rewrite ^/api/(?<action>\w+)$ /new-api?path=$action last;

Nota sui falsi positivi

I risultati della configurazione sono euristici. Una direttiva segnalata non garantisce la sfruttabilità — il ? potrebbe non essere nel percorso di costruzione dell'URI, o il riferimento alla cattura potrebbe non interagire con l'allocazione che causa l'overflow. Ogni risultato dovrebbe essere revisionato da un essere umano prima di prioritizzare la mitigazione.

Requisiti

  • Python 3.6+ (solo stdlib — nessuna installazione pip)
  • Binario nginx (opzionale — controllo versione saltato se assente)

Fixtures

FileRisultato atteso
fixtures/vulnerable.nginx.conf3 risultati di configurazione, exit 1
fixtures/safe.nginx.conf0 risultati di configurazione, exit 0

Test

root@kitploit:~
python3 -m unittest discover -s tests -v

Riferimenti

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-42945
  • Advisory F5 K000161019: https://my.f5.com/manage/s/article/K000161019
Scarica lo strumento
EdizioneVulnerabileCorretta
NGINX OSS0.6.27 – 1.30.11.31.0+ (o 1.30.1 con patch)
NGINX PlusR32 prima di R32P6R32P6+
NGINX PlusR36 prima di R36P4R36P4+
NGINX PlusR37+Non affetto
set
segue nello stesso scope
include
FlagDefaultDescrizione
--nginx-binary PATHnginxPercorso dell'eseguibile nginx
--config PATH/etc/nginx/nginx.confConfigurazione nginx principale da scansionare
--prefix PATHdirectory di --configPrefisso di configurazione nginx utilizzato per risolvere i percorsi include relativi (nginx li risolve rispetto al prefisso, non alla directory del file includente)
--scan-dir PATH.Directory in cui cercare file Dockerfile/compose
--json—Emette report JSON su stdout