
CVE-2026-42945 - NGINX Rift Toolkit
Umfassendes Toolkit zum Scannen, Patchen und Testen von CVE-2026-42945 – eine kritische RCE-Schwachstelle in nginx
Dieses Toolkit bietet umfassende Werkzeuge zum Scannen, Patchen und Testen von CVE-2026-42945, einer kritischen Remote-Code-Ausführungs-Schwachstelle in nginx, die Versionen vor 1.26.3 (Mainline) und 1.24.1 (Stable) betrifft.
Die Schwachstelle nutzt eine fehlerhafte HTTP/2-Header-Analyse aus, wenn ASLR mittels Heap-Spray-Techniken deaktiviert ist.
Scannt ein Subnetz oder einen einzelnen Host, um verwundbare nginx-Installationen zu identifizieren.
Funktionen:
Patched automatisch verwundbare nginx-Instanzen auf die neueste sichere Version.
Funktionen:
Testet die Schwachstelle CVE-2026-42945 mittels Heap-Spray-Technik.
Funktionen:
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 Target subnet in CIDR format (required)
--user USER SSH username (default: root)
--password PASSWORD SSH password
--key KEY_PATH Path to SSH private key
--port PORT SSH port (default: 22)
--timeout TIMEOUT Connection timeout in seconds (default: 5)
--output FILE Output report file (HTML/JSON)
--workers WORKERS Number of concurrent threads (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 Target subnet in CIDR format (required)
--user USER SSH username (default: root)
--password PASSWORD SSH password
--key KEY_PATH Path to SSH private key
--port PORT SSH port (default: 22)
--timeout TIMEOUT Connection timeout in seconds (default: 30)
--target-version VERSION Nginx version to patch to (default: latest)
--dry-run Show what would be patched without executing
--workers WORKERS Number of concurrent threads (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 Target host IP or domain (required)
--port PORT Target port (default: 80)
--command CMD Command to execute
--spray NUM Number of heap spray attempts (default: 20)
--timeout TIMEOUT Connection timeout in seconds (default: 5)
--tries NUM Number of exploitation attempts (default: 10)
--verbose Enable verbose output
# Schritt 1: Netzwerk nach verwundbaren Instanzen scannen
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key --output scan_results.html
# Schritt 2: Scan-Ergebnisse in scan_results.html überprüfen
# Schritt 3: Verwundbare Instanzen patchen
python3 nginx_patcher.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# Schritt 4: Überprüfen, ob Patches angewendet wurden, indem der Scanner erneut ausgeführt wird
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# Schritt 1: Dry-Run, um zu sehen, was gepatched würde
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run
# Schritt 2: Patches anwenden
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
# Schritt 1: Zunächst überprüfen, ob das System verwundbar ist
python3 exploit.py --target 10.0.0.50 --port 80 --verbose
# Schritt 2: Bei Erfolg wird sofortiges Patchen empfohlen
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, um Probleme ohne Anwendung zu identifizierenDer Scanner erstellt detaillierte Berichte in mehreren Formaten:
| Format | Beschreibung |
|---|---|
| HTML-Bericht | Im Browser anzeigbar mit Schwachstellenzusammenfassung, betroffenen Hosts, Versionsdetails |
| JSON-Bericht | Maschinenlesbares Format mit vollständigen technischen Details |
| Konsolenausgabe | Echtzeit-Fortschritt mit farbcodierten Ergebnissen |
Alle Vorgänge werden mit Zeitstempeln für die Audit-Compliance protokolliert. Überprüfen Sie die Konsolenausgabe für detaillierte Ausführungsinformationen.
Beiträge sind willkommen! Um einen Beitrag zu leisten:
git checkout -b feature/verbesserung)git commit -am 'Verbesserung hinzugefügt')git push origin feature/verbesserung)Dieses Toolkit wird nur für autorisierte Sicherheitstests und Schwachstellenbewertungen bereitgestellt. Unautorisierter Zugriff auf Computersysteme ist illegal. Die Nutzer sind dafür verantwortlich, sicherzustellen, dass sie vor der Verwendung dieses Toolkits über die entsprechende Autorisierung verfügen.
gagaltotal – GitHub
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die LICENSE-Datei für Details.
Zuletzt aktualisiert: 2026-05-20
| Eigenschaft | Wert |
|---|
| Schwachstellen-ID | CVE-2026-42945 |
| Typ | Remote Code Execution (RCE) |
| CVSS-Wert | 9.8 (Kritisch) |
| Betroffene Versionen | < 1.26.3 (Mainline) / < 1.24.1 (Stable) |
| Behobene Version | 1.26.3+ |
| Angriffsvektor | Fehlerhafte HTTP/2-Header-Analyse |
| Voraussetzung | ASLR auf dem Zielsystem deaktiviert |
| Überlegung | Details |
|---|
| SSH-Schlüsselverwaltung | SSH-Schlüssel sicher aufbewahren, niemals in Repositorys committen |
| Netzwerkzugriff | Für den Produktionseinsatz eine ordnungsgemäße Netzwerksegmentierung sicherstellen |
| Testumgebung | Zuerst immer in einer Nicht-Produktionsumgebung testen |
| Protokollierung | Alle Vorgänge erzeugen detaillierte Protokolle für die Prüfpfadnachverfolgung |
| ASLR-Status | Das Exploit-Tool erfordert, dass ASLR auf dem Ziel deaktiviert ist |
| Dry-Run-Modus | Verwenden Sie das --dry-run-Flag, um Änderungen vor der Anwendung in der Vorschau anzuzeigen |
| Backup | Erstellen Sie immer ein Backup der nginx-Konfiguration vor dem Patchen |