
Boîte à outils automatisée pour scanner, exploiter et corriger CVE-2026-42945 (RCE critique dans nginx). Comprend un scanner réseau, un exploit par heap spray et un correcteur par lots avec rapports HTML/JSON.
Kit d'outils complet pour scanner, corriger et tester CVE-2026-42945 - une vulnérabilité critique d'exécution de code à distance (RCE) dans nginx
Ce kit fournit des outils complets pour scanner, corriger et tester CVE-2026-42945, une vulnérabilité critique d'exécution de code à distance dans nginx affectant les versions antérieures à 1.26.3 (mainline) et 1.24.1 (stable).
La vulnérabilité exploite l'analyse d'en-têtes HTTP/2 malformés lorsque l'ASLR est désactivé à l'aide de techniques de heap spray.
| Propriété | Valeur |
|---|---|
| Identifiant de la vulnérabilité | CVE-2026-42945 |
| Type | Exécution de code à distance (RCE) |
| Score CVSS | 9.8 (Critique) |
| Versions affectées | < 1.26.3 (mainline) / < 1.24.1 (stable) |
| Version corrigée | 1.26.3+ |
| Vecteur d'attaque | Analyse d'en-têtes HTTP/2 malformés |
| Condition préalable | ASLR désactivé sur le système cible |
Scanne un sous-réseau ou un hôte unique pour identifier les installations nginx vulnérables.
Fonctionnalités :
Corrige automatiquement les instances nginx vulnérables vers la dernière version sécurisée.
Fonctionnalités :
Teste la vulnérabilité CVE-2026-42945 via la technique du heap spray.
Fonctionnalités :
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
# Étape 1 : Scanner le réseau pour les instances vulnérables
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key --output scan_results.html
# Étape 2 : Examiner les résultats du scan dans scan_results.html
# Étape 3 : Corriger les instances vulnérables
python3 nginx_patcher.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# Étape 4 : Vérifier que les correctifs sont appliqués en relançant le scanner
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# Étape 1 : Dry-run pour voir ce qui serait corrigé
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run
# Étape 2 : Appliquer les correctifs
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
# Étape 1 : Vérifier d'abord que le système est vulnérable
python3 exploit.py --target 10.0.0.50 --port 80 --verbose
# Étape 2 : En cas de succès, une correction immédiate est recommandée
python3 nginx_patcher.py --subnet 10.0.0.50 --user root --key ~/.ssh/id_rsa
| Considération | Détails |
|---|---|
| Gestion des clés SSH | Stockez les clés SSH de manière sécurisée, ne les commitez jamais dans des dépôts |
| Accès réseau | Assurez une segmentation réseau appropriée pour une utilisation en production |
| Environnement de test | Testez toujours d'abord dans un environnement hors production |
| Journalisation | Toutes les opérations génèrent des journaux détaillés pour la traçabilité |
| Statut ASLR | L'outil d'exploitation exige que l'ASLR soit désactivé sur la cible |
| Mode Dry-run | Utilisez l'option --dry-run pour prévisualiser les modifications avant application |
| Sauvegarde | Sauvegardez toujours la configuration nginx avant de corriger |
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 pour identifier les problèmes sans appliquerLe scanner génère des rapports détaillés dans plusieurs formats :
| Format | Description |
|---|---|
| Rapport HTML | Consultable dans un navigateur avec résumé de la vulnérabilité, hôtes affectés, détails de version |
| Rapport JSON | Format lisible par machine avec tous les détails techniques |
| Sortie console | Progression en temps réel avec résultats codés par couleur |
Toutes les opérations sont journalisées avec horodatage pour la conformité d'audit. Consultez la sortie console pour des informations d'exécution détaillées.
Les contributions sont les bienvenues ! Pour contribuer :
git checkout -b feature/improvement)git commit -am 'Add improvement')git push origin feature/improvement)Ce kit est fourni uniquement pour les tests de sécurité autorisés et l'évaluation de vulnérabilités. L'accès non autorisé à des systèmes informatiques est illégal. Les utilisateurs sont responsables de s'assurer qu'ils disposent d'une autorisation appropriée avant d'utiliser ce kit.
gagaltotal - GitHub
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Dernière mise à jour : 2026-05-20