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-cve-2026-42945-check — Scanner locale di sola lettura per CVE-2026-42945 (NGINX Rift) che controlla le istanze di NGINX, OpenResty e Tengine per configurazioni di rewrite vulnerabili senza eseguire exploit o modificare servizi. | Kitploit
Strumenti/GitHubGitHub/byezero/nginx-cve-2026-42945-check
Analisi StaticaScanner di VulnerabilitàAnalisi delle VulnerabilitàScripting e AutomazioneAudit di ConfigurazioneSicurezza Web
GitHubbyezero/nginx-cve-2026-42945-check

nginx-cve-2026-42945-check

Scanner locale di sola lettura per CVE-2026-42945 (NGINX Rift) che controlla le istanze di NGINX, OpenResty e Tengine per configurazioni di rewrite vulnerabili senza eseguire exploit o modificare servizi.

Vedi Repository
43 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

Script di controllo locale per NGINX CVE-2026-42945

Lingue: Cinese | Inglese

Questo repository fornisce due script di controllo standalone per verificare localmente su server Linux / Windows se Nginx, OpenResty e Tengine presentano rischi relativi a CVE-2026-42945.

Gli script eseguono solo raccolta in sola lettura e determinazione locale, non eseguono PoC di vulnerabilità, non inviano richieste di attacco, non modificano configurazioni, non riavviano servizi e non aggiornano software.

Contesto della vulnerabilità

CVE-2026-42945 è anche conosciuta come NGINX Rift; i materiali pubblici la descrivono come un problema di heap buffer overflow nel modulo ngx_http_rewrite_module. Secondo la descrizione NVD, quando la direttiva rewrite forma una combinazione specifica con direttive rewrite / if / set successive e coinvolge variabili di cattura PCRE senza nome (ad es. , ) e stringhe di sostituzione contenenti il punto interrogativo , un attaccante potrebbe attivare un heap buffer overflow nel processo worker di NGINX costruendo apposite richieste HTTP. Il problema può portare al riavvio del processo worker; in condizioni particolari come ASLR disattivato, esiste il rischio di esecuzione di codice.

$1
$2
?

L'avviso di sicurezza ufficiale di NGINX segna CVE-2026-42945 come buffer overflow di ngx_http_rewrite_module e fornisce i limiti di correzione per NGINX Open Source:

StatoVersione NGINX Open Source
Corretto1.31.0+ / 1.30.1+
Potenzialmente affetto0.6.27-1.30.0

Distribuzioni, prodotti commerciali, OpenResty, Tengine o build private potrebbero avere patch retroportate o differenze di mappatura delle versioni. Lo script cercherà di raccogliere quante più prove possibile, ma alla fine si consiglia comunque di confermare manualmente con gli annunci del fornitore.

Obiettivo del controllo

Questo strumento non è uno strumento di verifica dello sfruttamento di vulnerabilità, ma uno strumento di raccolta locale e controllo statico della configurazione. Si concentra sull'identificazione delle seguenti combinazioni:

  1. Nella stringa di sostituzione della direttiva rewrite vengono utilizzate variabili di cattura senza nome come $1, $2 non escaped.
  2. La stessa stringa di sostituzione rewrite contiene ? non escaped (i punti interrogativi letterali come \? non vengono considerati condizione di rischio).
  3. Nello stesso scope di configurazione, sono presenti direttive successive rewrite, if o set.

Esempio di modello a rischio:

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?endpoint=$1 last;
    set $flag 1;
}

Il rischio non deriva da una singola rewrite o set, ma dalla combinazione di versione, contesto di configurazione e ordine di esecuzione. In caso di hit, si consiglia comunque di confermare manualmente se la configurazione è effettivamente attiva, se può essere raggiunta da richieste esterne e se è già stata corretta da patch della distribuzione.

Descrizione dei file

FileDescrizione
check_nginx_linux.shScript di controllo per Linux
check_nginx_windows.ps1Script di controllo per Windows
README.mdDocumentazione in Cinese
README.en.mdDocumentazione in Inglese

Capacità

La prima versione supporta:

  • Controllo di Nginx / OpenResty / Tengine installati nativamente sulla macchina.
  • Raccolta di informazioni sull'host, processi e servizi, versione, parametri di compilazione, configurazioni attive.
  • Supporto per il controllo individuale di più istanze di Nginx / OpenResty / Tengine sullo stesso server.
  • Identificazione di configurazioni rewrite pericolose relative a CVE-2026-42945.
  • Output dei risultati in console (Cinese), file summary.txt, summary.json e directory di evidenze grezze.

La prima versione non include:

  • Controllo Docker / Kubernetes.
  • Scansione remota SSH / WinRM.
  • Correzione automatica, aggiornamento automatico, modifica automatica della configurazione.
  • PoC di vulnerabilità o richieste di attacco.

Prerequisiti per l'esecuzione

Si consiglia di eseguire con privilegi di amministratore:

  • Linux: utilizzare un account root o con permessi sudo.
  • Windows: eseguire PowerShell come "Amministratore".

Senza privilegi di amministratore lo script cercherà comunque di raccogliere dati; se non è possibile esportare la configurazione attiva completa con nginx -T, il risultato verrà contrassegnato come "Da verificare manualmente".

Utilizzo su Linux

Caricare check_nginx_linux.sh sul server ed eseguire:

root@kitploit:~
chmod +x check_nginx_linux.sh
sudo ./check_nginx_linux.sh

Se sudo non è disponibile, eseguire direttamente:

root@kitploit:~
./check_nginx_linux.sh

Utilizzo su Windows

Caricare check_nginx_windows.ps1 sul server, quindi eseguire PowerShell come "Amministratore":

root@kitploit:~
powershell -ExecutionPolicy Bypass -File .\check_nginx_windows.ps1

Output

Lo script creerà una directory dei risultati nella stessa directory dello script. Il nome della directory contiene il nome host, l'ora e il PID dello script, evitando sovrascritture in caso di esecuzioni simultanee nello stesso secondo.

root@kitploit:~
nginx_check_<nome_host>_<ora>_<PID>/
  summary.txt
  summary.json
  raw/
    host_info.txt
    process_info.txt
    service_info.txt
    package_info.txt
    nginx_paths.txt
    instances/
      instance_01/
        nginx_invocation.txt
        nginx_version.txt
        nginx_build.txt
        nginx_config_dump.txt
        risky_config_matches.txt
      instance_02/
        ...
File o directoryDescrizione
summary.txtRiepilogo in Cinese, adatto per consultazione manuale e invio
summary.jsonRisultato strutturato, utile per aggregazioni successive
raw/Output dei comandi grezzi e file di evidenza
raw/instances/instance_XX/Versione, configurazione ed evidenze di rischio per ogni istanza

Il riepilogo registrerà:

CampoDescrizione
Numero istanzeNumero di istanze candidate Nginx / OpenResty / Tengine trovate e controllate singolarmente
Dimensione configurazioneDimensione del file di configurazione grezzo esportato da nginx -T
Righe scanditeNumero di righe di output della configurazione effettivamente scandite dallo script
Numero di hit di configurazione pericoloseNumero di regole rewrite pericolose trovate
Riepilogo evidenzeAnteprima delle evidenze per l'istanza a rischio più elevato; evidenze complete nella directory dell'istanza corrispondente

Se la configurazione Nginx è molto grande, lo script non stamperà la configurazione completa sulla console; la configurazione attiva completa viene salvata in nginx_config_dump.txt nella directory dell'istanza. Quando il file di configurazione esportato supera i 10 MB, lo script continuerà la scansione automatica e suggerirà di controllare manualmente utilizzando i risultati in raw/.

Gestione di più istanze

Se il server trova più eseguibili candidati nginx, openresty o tengine, lo script li controllerà singolarmente e genererà i dettagli dell'istanza.

La conclusione nel riepilogo generale prende l'istanza con il rischio più elevato. La priorità conservativa della conclusione complessiva è:

  1. Affetto con configurazione a rischio
  2. Da verificare manualmente
  3. Affetto senza configurazione a rischio
  4. Non affetto
  5. Nginx non installato

Da verificare manualmente è superiore a Affetto senza configurazione a rischio, indicando che esistono istanze non confermate che richiedono ulteriori verifiche, ma non equivale a una configurazione pericolosa confermata.

Conclusione del controllo

ConclusioneSignificato
Nginx non installatoNessun comando, processo o servizio Nginx / OpenResty / Tengine trovato
Non affettoVersione chiaramente corretta e nessuna configurazione pericolosa trovata
Affetto senza configurazione a rischioVersione potenzialmente affetta, ma nessuna configurazione rewrite pericolosa trovata
Affetto con configurazione a rischioVersione potenzialmente affetta o versione derivata da verificare, e sono state trovate configurazioni rewrite pericolose
Da verificare manualmenteVersione sconosciuta, versione derivata, acquisizione configurazione fallita, permessi insufficienti o prove insufficienti

Determinazione della versione

ProdottoGiudizio sulla versione
NGINX 1.31.0+Corretto, lo script mostra Corretto (mainline)
NGINX 1.30.1+Corretto, lo script mostra Corretto (stable)
NGINX 0.6.27-1.30.0Potenzialmente affetto
OpenResty / TengineVersione e configurazione possono essere raccolte, ma la relazione di impatto della versione richiede per impostazione predefinita verifica manuale

Le distribuzioni potrebbero avere "versione obsoleta ma già patchata". Se è disponibile una prova della patch del fornitore, è possibile confermare manualmente utilizzando summary.txt e le informazioni sulla versione del pacchetto.

Raccomandazioni per la gestione

  • Aggiornare prioritariamente alla versione corretta rilasciata dal fornitore ufficiale o della distribuzione.
  • Dare priorità alla verifica degli ingressi pubblici, proxy inversi e istanze di bilanciamento del carico perimetrale.
  • Controllare tutte le combinazioni di rewrite / if / set nei contesti location, server, if, ecc.
  • Evitare l'uso di variabili di cattura senza nome come $1, $2 nelle stringhe di sostituzione rewrite che contengono ?.
  • Si può considerare l'uso di catture con nome, il salvataggio anticipato delle variabili, la suddivisione della logica di elaborazione o la rimozione di rewrite non necessari.
  • Non affidarsi esclusivamente al giudizio sulla versione; anche la presenza della sequenza trigger nella configurazione è ugualmente critica.

Limitazioni

  • Questo strumento è uno script di controllo locale in sola lettura, non è equivalente alla verifica dello sfruttamento di vulnerabilità.
  • La scansione statica della configurazione può produrre falsi positivi; è necessaria la verifica manuale nel contesto NGINX reale.
  • Se nginx -T non può esportare completamente la configurazione, lo script non la considererà sicura.
  • La relazione di impatto della versione per OpenResty / Tengine / build private richiede per impostazione predefinita verifica manuale.
  • L'assenza di rischi rilevati non equivale a sicurezza assoluta; si consiglia comunque di aggiornare alla versione corretta confermata dal fornitore ufficiale o della distribuzione.

Riferimenti

  • NGINX Security Advisories
  • NVD: CVE-2026-42945
  • F5 Advisory K000161019
  • depthfirst: NGINX Rift
Scarica lo strumento