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-scanner — Scanner de détection uniquement pour CVE-2026-42945 (NGINX Rift), un débordement de tas dans ngx_http_rewrite_module. Détection de version + analyse de motifs nginx.conf. Python 3 stdlib-only, aucun appel réseau. | Kitploit
Outils/GitHubGitHub/simota/nginx-rift-scanner
Analyse StatiqueScanners de VulnérabilitésAnalyse des VulnérabilitésAnalyse de CodeAudit de ConfigurationSécurité Web
GitHubsimota/nginx-rift-scanner

nginx-rift-scanner

Scanner de détection uniquement pour CVE-2026-42945 (NGINX Rift), un débordement de tas dans ngx_http_rewrite_module. Détection de version + analyse de motifs nginx.conf. Python 3 stdlib-only, aucun appel réseau.

Voir le dépôt
1il y a 2 moisPas encore vérifié

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

nginx-rift-scanner

Scanner Python 3 sans dépendances pour CVE-2026-42945 ("NGINX Rift") — un débordement de buffer sur le tas (CWE-122) classé 9.2 CRITIQUE selon CVSS v4.0 dans ngx_http_rewrite_module.

Ce qu'il détecte

Deux vérifications indépendantes sont effectuées à chaque exécution :

VérificationMéthode
Versionnginx -V, dpkg/rpm/apk, tags d'images Dockerfile/compose
Pattern de configurationAnalyse sensible aux accolades de nginx.conf + tous les fichiers include

Versions affectées

Note sur 1.30.1 : la version stable patchée 1.30.1 rapporte la même chaîne de version que la version vulnérable, donc le scanner classe toute version 1.30.1 comme POTENTIELLEMENT_VULNÉRABLE (code de sortie 1, conservatif). Vérifiez le changelog du paquet / l'avis de rétroportage pour confirmer que le patch est appliqué.

Pattern déclencheur de configuration

Un bloc de portée est signalé lorsque les trois conditions suivantes sont réunies :

  1. Une directive rewrite, if ou set utilise une référence de capture PCRE non nommée ($1–$9, y compris la forme avec accolades ${1}–${9}).
  2. L'argument valeur/remplacement de cette directive contient un caractère ? (pour rewrite/set, l'argument du motif regex est exclu — un ? là est un quantificateur PCRE ; les conditions if sont analysées de manière conservative).
  3. Une autre directive rewrite/if/ (les includes sont insérés dans la portée incluse, donc les paires chevauchant une limite sont détectées).

Démarrage rapide

root@kitploit:~
# Cloner et exécuter
git clone https://github.com/simota/nginx-rift-scanner.git
cd nginx-rift-scanner

# Analyser le nginx local (binaire dans PATH, config dans /etc/nginx/nginx.conf)
python3 scripts/scan_nginx_rift.py

# Chemins personnalisés
python3 scripts/scan_nginx_rift.py \
  --nginx-binary /usr/sbin/nginx \
  --config /etc/nginx/nginx.conf \
  --prefix /etc/nginx \
  --scan-dir /app

# Sortie JSON (CI / SIEM)
python3 scripts/scan_nginx_rift.py --json

# Valider avec les fixtures incluses
python3 scripts/scan_nginx_rift.py --config fixtures/vulnerable.nginx.conf
python3 scripts/scan_nginx_rift.py --config fixtures/safe.nginx.conf

Codes de sortie : 0 = propre, 1 = version VULNÉRABLE / POTENTIELLEMENT_VULNÉRABLE ou pattern de configuration signalé.

Options

Correction

Mise à niveau (recommandée) :

  • OSS → NGINX ≥ 1.31.0 (ou appliquer le patch stable 1.30.1)
  • Plus → R32P6+, R36P4+, ou R37+

Solution de contournement — remplacer les captures non nommées par des captures nommées dans chaque directive rewrite/if/set qui contient aussi ? :

root@kitploit:~
# Vulnérable
rewrite ^/api/(\w+)$ /new-api?path=$1 last;

# Sûr
rewrite ^/api/(?<action>\w+)$ /new-api?path=$action last;

Note sur les faux positifs

Les résultats de configuration sont heuristiques. Une directive signalée ne garantit pas l'exploitabilité — le ? peut ne pas se trouver dans le chemin de construction de l'URI, ou la référence de capture peut ne pas interagir avec l'allocation qui déborde. Chaque résultat doit être examiné par un humain avant de prioriser la correction.

Prérequis

  • Python 3.6+ (stdlib uniquement — pas d'installations pip)
  • Binaire nginx (optionnel — la vérification de version est ignorée s'il est absent)

Fixtures

FichierRésultat attendu
fixtures/vulnerable.nginx.conf3 résultats de configuration, code de sortie 1
fixtures/safe.nginx.conf0 résultat de configuration, code de sortie 0

Tests

root@kitploit:~
python3 -m unittest discover -s tests -v

Références

  • NVD : https://nvd.nist.gov/vuln/detail/CVE-2026-42945
  • Avis F5 K000161019 : https://my.f5.com/manage/s/article/K000161019
Télécharger l’outil
ÉditionVulnérableCorrigée
NGINX OSS0.6.27 – 1.30.11.31.0+ (ou 1.30.1 patché)
NGINX PlusR32 avant R32P6R32P6+
NGINX PlusR36 avant R36P4R36P4+
NGINX PlusR37+Non affecté
set
suit dans la même portée
include
OptionDéfautDescription
--nginx-binary PATHnginxChemin vers l'exécutable nginx
--config PATH/etc/nginx/nginx.confFichier de configuration racine nginx à analyser
--prefix PATHrépertoire de --configPréfixe de configuration nginx utilisé pour résoudre les chemins include relatifs (nginx résout les chemins relatifs par rapport au préfixe, pas au répertoire du fichier incluant)
--scan-dir PATH.Répertoire dans lequel chercher les fichiers Dockerfile/compose
--json—Émettre un rapport JSON sur la sortie standard