Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
nginx-rift-detect — Script de détection comportementale pour CVE-2026-42945 (NGINX Rift) — débordement de tas dans ngx_http_rewrite_module. Pas de RCE, détection basée uniquement sur les crashs. | Kitploit
Outils/GitHubGitHub/iammerrida-source/nginx-rift-detect
Scanners de VulnérabilitésExploitationCollecte d'InformationsSécurité WebSécurité RéseauTests d'Intrusion
GitHubiammerrida-source/nginx-rift-detect

nginx-rift-detect

Script de détection comportementale pour CVE-2026-42945 (NGINX Rift) — débordement de tas dans ngx_http_rewrite_module. Pas de RCE, détection basée uniquement sur les crashs.

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt
3il y a 3 moisPas encore vérifié

nginx-rift-detect

Script de détection comportementale pour CVE-2026-42945 (NGINX Rift) — un dépassement de tampon dans le tas dans ngx_http_rewrite_module présent dans nginx depuis 2008.

Python CVE CVSS License


⚠️ Avertissement

Cet outil est destiné uniquement aux tests de sécurité autorisés et à la recherche. Exécutez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de tester. Une utilisation non autorisée peut violer les lois sur la criminalité informatique de votre juridiction. L'auteur n'est pas responsable de toute utilisation abusive ou des dommages causés par cet outil.


Contexte

CVE-2026-42945 est un dépassement de tampon dans le tas du moteur de script de réécriture de nginx (ngx_http_rewrite_module), introduit dans la version 0.6.27 (2008) et présent depuis environ 18 ans.

Le bug provient d'une inadéquation entre deux passages du moteur de réécriture :

  • Pass 1 (calcul de longueur) : voit is_args = 0 → alloue un petit tampon
  • Pass 2 (copie de données) : voit is_args = 1 → appelle ngx_escape_uri, ce qui agrandit chaque octet pouvant être échappé (comme +) à 3× sa taille → déborde le tampon du tas

Cela permet une exécution de code à distance non authentifiée.

Versions affectées :

ProduitVulnérableCorrigé
NGINX Open Source0.6.27 – 1.30.01.30.1, 1.31.0+
NGINX PlusR32 – R36R36 P4, R35 P2, R32 P6

Références :

  • Recherche originale et PoC — DepthFirstDisclosures
  • F5 Security Advisory K000160932

Fonctionnement de la détection

Ce script n'essaie pas de réaliser une RCE. Il imite le flux du PoC en utilisant des sockets brutes :

  1. Canary — envoie 3 requêtes normales pour confirmer que le serveur est stable avant le test
  2. Heap spray — ouvre 20 connexions pour maintenir la mémoire
  3. Déclencheur — envoie GET /api/<349×A><969×+> comme une requête HTTP partielle
  4. Sonde — si la socket de déclenchement se ferme de manière inattendue (le worker a planté et a été redémarré), la cible est marquée comme vulnérable

La détection repose sur le crash d'un processus worker. Le master nginx le redémarrera immédiatement, mais il y aura une brève interruption. À utiliser avec précaution sur les systèmes de production.


Utilisation

root@kitploit:~
# Single target (HTTP)
python3 detect-CVE-2026-42945.py --host 127.0.0.1 --port 80

# Single target (HTTPS)
python3 detect-CVE-2026-42945.py --host example.com --port 443 --tls

# List of targets
python3 detect-CVE-2026-42945.py -l targets.txt

# With threading and output file
python3 detect-CVE-2026-42945.py -l targets.txt --threads 10 -o vulnerable.txt

# More attempts for unreliable targets
python3 detect-CVE-2026-42945.py --host 10.0.0.1 --port 8080 --tries 5

targets.txt format — one per line:

root@kitploit:~
http://example.com
https://example.com:8443
192.168.1.1
192.168.1.1:8080

Options :

root@kitploit:~
--host          Hôte cible unique
--port          Port (par défaut : 80, ou 443 avec --tls)
--tls           Utiliser TLS/HTTPS pour une cible unique
-l, --list      Fichier avec liste de cibles
--tries         Tentatives de détection par cible (par défaut : 3)
--threads       Threads concurrents pour le scan de liste (par défaut : 5)
-o, --output    Enregistrer les cibles vulnérables dans un fichier CSV

Exemple de sortie

root@kitploit:~
[*] CVE-2026-42945 NGINX Rift Detection | targets=2 threads=5 tries=3

[*] http://192.168.1.1:80   - nginx/1.28.0
[*] http://192.168.1.2:8080 - nginx/1.31.0

[!!!] VULNERABLE | http://192.168.1.1:80 | nginx/1.28.0 | worker crash (trigger connection closed — worker respawned)
[+]   http://192.168.1.2:8080 - not vulnerable (or timing miss, try --tries 5)

==================================================
[*] Scan complete. 2 targets scanned.
[!!!] 1 VULNERABLE target(s):
      http://192.168.1.1:80 (nginx/1.28.0)
==================================================

Test avec le laboratoire

Le dépôt d'origine inclut un environnement de laboratoire Docker :

root@kitploit:~
git clone https://github.com/DepthFirstDisclosures/Nginx-Rift
cd Nginx-Rift
chmod +x setup.sh && ./setup.sh
docker compose -f env/docker-compose.yml up -d

python3 detect-CVE-2026-42945.py --host 127.0.0.1 --port 19321


Licence

MIT — voir LICENSE


Recherche originale sur la vulnérabilité et PoC : DepthFirstDisclosures

Télécharger l’outil