
CVE-2026-42945 - NGINX Rift Toolkit
Toolkit completo per la scansione, la correzione e il test di CVE-2026-42945 - una vulnerabilità RCE critica in nginx
Questo toolkit fornisce strumenti completi per la scansione, la correzione e il test di CVE-2026-42945, una vulnerabilità critica di esecuzione remota di codice in nginx che interessa le versioni precedenti alla 1.26.3 (mainline) e alla 1.24.1 (stable).
La vulnerabilità sfrutta la gestione impropria delle intestazioni HTTP/2 quando ASLR è disabilitato utilizzando tecniche di heap spray.
Scansiona una sottorete o un singolo host per identificare installazioni vulnerabili di nginx.
Caratteristiche:
Applica automaticamente le correzioni alle istanze vulnerabili di nginx all'ultima versione sicura.
Caratteristiche:
Testa la vulnerabilità CVE-2026-42945 tramite la tecnica dell'heap spray.
Caratteristiche:
paramiko (>= 3.0.0) - SSH client library
rich (>= 13.0.0) - Terminal formatting and progress bars
git clone https://github.com/gagaltotal/CVE-2026-42945-NGINX-Rift-Toolkit
cd CVE-2026-42945-NGINX-Rift-Toolkit
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

nginx_scanner.py)python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 192.168.1.10 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/30 --user admin --password "password"
python3 nginx_scanner.py --subnet 192.168.1.0/24 --port 2222 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --output report.html
--subnet SUBNET Sottorete target in formato CIDR (obbligatorio)
--user USER Nome utente SSH (default: root)
--password PASSWORD Password SSH
--key KEY_PATH Percorso della chiave privata SSH
--port PORT Porta SSH (default: 22)
--timeout TIMEOUT Timeout di connessione in secondi (default: 5)
--output FILE File del report di output (HTML/JSON)
--workers WORKERS Numero di thread concorrenti (default: 20)
nginx_patcher.py)
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run
python3 nginx_patcher.py --subnet 192.168.1.0/24 --target-version 1.26.3 --user root --key ~/.ssh/id_rsa
python3 nginx_patcher.py --subnet 10.0.0.0/30 --port 2222 --user admin --password "password"
--subnet SUBNET Sottorete target in formato CIDR (obbligatorio)
--user USER Nome utente SSH (default: root)
--password PASSWORD Password SSH
--key KEY_PATH Percorso della chiave privata SSH
--port PORT Porta SSH (default: 22)
--timeout TIMEOUT Timeout di connessione in secondi (default: 30)
--target-version VERSION Versione di nginx a cui applicare la patch (default: latest)
--dry-run Mostra cosa verrebbe corretto senza eseguire
--workers WORKERS Numero di thread concorrenti (default: 10)
exploit.py)
python3 exploit.py --target 192.168.1.100 --port 80
python3 exploit.py --target 192.168.1.100 --port 80 --command "cat /etc/passwd"
python3 exploit.py --target 192.168.1.100 --port 80 --spray 50
python3 exploit.py --target 192.168.1.100 --port 80 --verbose
--target HOST IP o dominio del target (obbligatorio)
--port PORT Porta target (default: 80)
--command CMD Comando da eseguire
--spray NUM Numero di tentativi di heap spray (default: 20)
--timeout TIMEOUT Timeout di connessione in secondi (default: 5)
--tries NUM Numero di tentativi di sfruttamento (default: 10)
--verbose Abilita output dettagliato
# Step 1: Scan network for vulnerable instances
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key --output scan_results.html
# Step 2: Review scan results in scan_results.html
# Step 3: Patch vulnerable instances
python3 nginx_patcher.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# Step 4: Verify patches applied by running scanner again
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# Step 1: Dry-run to see what would be patched
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run
# Step 2: Apply patches
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
# Step 1: First verify the system is vulnerable
python3 exploit.py --target 10.0.0.50 --port 80 --verbose
# Step 2: If successful, immediate patching is recommended
python3 nginx_patcher.py --subnet 10.0.0.50 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --password "password"
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --key ~/.ssh/id_rsa --port 2222
chmod 600 ~/.ssh/id_rsa--dry-run per identificare i problemi senza applicareLo scanner genera report dettagliati in diversi formati:
| Formato | Descrizione |
|---|---|
| Report HTML | Visibile nel browser con riepilogo delle vulnerabilità, host interessati, dettagli delle versioni |
| Report JSON | Formato leggibile dalla macchina con dettagli tecnici completi |
| Output Console | Progresso in tempo reale con risultati colorati |
Tutte le operazioni vengono registrate con timestamp per conformità di audit. Controlla l'output della console per informazioni dettagliate sull'esecuzione.
I contributi sono benvenuti! Per contribuire:
git checkout -b feature/miglioramento)git commit -am 'Aggiungi miglioramento')git push origin feature/miglioramento)Questo toolkit è fornito esclusivamente per test di sicurezza autorizzati e valutazione delle vulnerabilità. L'accesso non autorizzato a sistemi informatici è illegale. Gli utenti sono responsabili di assicurarsi di avere la corretta autorizzazione prima di utilizzare questo toolkit.
gagaltotal - GitHub
Questo progetto è concesso in licenza con la Licenza MIT - consulta il file LICENSE per i dettagli.
Ultimo aggiornamento: 2026-05-20
| Proprietà | Valore |
|---|
| ID Vulnerabilità | CVE-2026-42945 |
| Tipo | Esecuzione Remota di Codice (RCE) |
| Punteggio CVSS | 9.8 (Critico) |
| Versioni Affette | < 1.26.3 (mainline) / < 1.24.1 (stable) |
| Versione Corretta | 1.26.3+ |
| Vettore d'Attacco | Analisi non corretta delle intestazioni HTTP/2 |
| Prerequisito | ASLR disabilitato sul sistema target |
| Considerazione | Dettagli |
|---|
| Gestione delle Chiavi SSH | Conserva le chiavi SSH in modo sicuro, non impegnarle mai nei repository |
| Accesso alla Rete | Assicura una corretta segmentazione della rete per l'uso in produzione |
| Ambiente di Test | Testa sempre prima in un ambiente non di produzione |
| Registrazione | Tutte le operazioni generano registri dettagliati per la tracciabilità |
| Stato di ASLR | Lo strumento exploit richiede che ASLR sia disabilitato sul target |
| Modalità Dry-run | Utilizza il flag --dry-run per visualizzare in anteprima le modifiche prima di applicarle |
| Backup | Esegui sempre il backup della configurazione di nginx prima di applicare le patch |