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_SCAN_CVE_2026_42945 — Analyse CVE de réécriture Nginx (CVE-2026-42945 nginx-rift CVE-2026-9256) | Kitploit
Outils/GitHubGitHub/friparia/nginx_rift_scan_cve_2026_42945
Analyse StatiqueScanners de VulnérabilitésExploitationAudit de ConfigurationSécurité WebMauvaise Configuration
GitHubfriparia/nginx_rift_scan_cve_2026_42945

NGINX_RIFT_SCAN_CVE_2026_42945

Analyse CVE de réécriture Nginx (CVE-2026-42945 nginx-rift CVE-2026-9256)

Voir le dépôt
3495il y a 3 moisVérifié par Kitploit

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

Scanner de configuration NGINX Rift

Langue : Chinois | English

Il s'agit d'un script léger pour vérifier si la configuration NGINX présente les motifs de risque CVE-2026-42945 (NGINX Rift) et CVE-2026-9256.

Cette vulnérabilité a été divulguée par depthfirst dans l'article NGINX Rift: Achieving NGINX RCE via an 18-Year-Old Vulnerability. Selon l'article et la description F5/NVD, le risque est lié à certaines combinaisons de configuration du ngx_http_rewrite_module : dans le même contexte de configuration, la chaîne de remplacement de rewrite contient ?, et une rewrite, un if ou un set ultérieur référence des variables de capture PCRE non nommées, par exemple $1, $2.

Objectifs de vérification

Cet outil vérifie principalement si le fichier de configuration NGINX contient les motifs à haut risque suivants.

CVE-2026-42945

Séquence à haut risque similaire à :

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;
    set $original_endpoint $1;
}

Le point de risque n'est pas un rewrite ou un set isolé, mais l'ordre d'exécution dans le même contexte :

  1. rewrite utilise une capture regex et la chaîne de remplacement contient ?
  2. Une rewrite, un if ou un set ultérieur utilise des variables de capture non nommées telles que $1, $2

Cette combinaison peut provoquer une incohérence d'état entre le calcul de longueur et la phase de copie réelle dans le moteur de script NGINX, entraînant un débordement de tas.

CVE-2026-9256

rewrite à haut risque similaire à :

root@kitploit:~
location / {
    rewrite /wengine-auth-static/((.*)) /?$1$2 break;
}

Conditions de risque :

  1. L'expression régulière contient des groupes de capture qui se chevauchent, par exemple ^/((.*))$ où $1 contient $2
  2. La chaîne de remplacement référence plusieurs groupes de capture qui se chevauchent dans un contexte de redirection (redirect) ou d'arguments, par exemple $1$2

Notez que break n'exclut pas le risque ; dès que plusieurs groupes de capture qui se chevauchent apparaissent dans la partie arguments après ?, ils appartiennent toujours au contexte arguments. Un rewrite URI simple comme /$1$2 break ne déclenche pas cette CVE.

Lorsque le script détecte ce motif, il le marque explicitement comme CVE-2026-9256.

Périmètre d'impact

Les versions impactées listées dans l'article de depthfirst incluent :

  • NGINX Open Source 0.6.27 à 1.30.1
  • NGINX Plus R32 à R36
  • Certains produits F5 / NGINX basés sur NGINX

Les versions corrigées réelles et la matrice produit doivent être confirmées via les annonces officielles de F5 ou les bulletins de sécurité des distributions. Même si la version se trouve dans la plage impactée, une séquence de configuration rewrite spécifique est généralement nécessaire pour déclencher la vulnérabilité.

Le script affiche simultanément la version actuelle de NGINX et les résultats du scan de configuration :

  • Version dans 0.6.27 - 1.30.1 et configuration correspondant à la séquence à risque : impératif de mettre à jour NGINX ou d'ajuster la configuration.
  • Version dans 0.6.27 - 1.30.1 mais configuration ne correspondant pas à la séquence à risque : mise à jour recommandée, mais cet outil n'a pas trouvé de condition déclenchante dans la configuration.
  • Configuration correspondant à la séquence à risque mais version hors plage impactée : il est conseillé de vérifier la configuration et de conserver une version corrigée.

Utilisation

Scanner directement la configuration NGINX complète de la machine actuelle :

root@kitploit:~
python3 scan_rift.py

Le script exécute :

root@kitploit:~
nginx -T

Si l'utilisateur actuel n'a pas les droits pour lire la configuration complète, utilisez sudo :

root@kitploit:~
sudo python3 scan_rift.py

Vous pouvez également scanner un fichier de configuration déjà exporté :

root@kitploit:~
python3 scan_rift.py /path/to/nginx-full.conf

Par exemple, exportez la configuration puis scannez :

root@kitploit:~
sudo nginx -T > nginx-full.conf
python3 scan_rift.py nginx-full.conf

Explication des sorties

Lorsqu'aucune séquence à risque n'est détectée :

root@kitploit:~
--- NGINX Rift Config Scanner (CVE-2026-42945 / CVE-2026-9256) ---
Current NGINX Version: nginx version: nginx/1.23.3
Version Status: Affected version range for NGINX Open Source (0.6.27 - 1.30.1)

[+] No vulnerable CVE-2026-42945 sequences or CVE-2026-9256 patterns detected.

[Recommendation]: Current NGINX version is in the affected range, but no vulnerable config pattern was detected. Upgrade is recommended, but config risk was not found by this scanner.

Lorsqu'une séquence suspecte est détectée :

root@kitploit:~
--- NGINX Rift Config Scanner (CVE-2026-42945 / CVE-2026-9256) ---
Current NGINX Version: nginx version: nginx/1.23.3
Version Status: Affected version range for NGINX Open Source (0.6.27 - 1.30.1)

[!] VULNERABLE SEQUENCE FOUND (CVE-2026-42945):
    Context: location ~ ^/api/(.*)$ {
    [1. Rewrite With ?] rewrite ^/api/(.*)$ /internal?migrated=true;
    [2. Follow-up $N]   set $original_endpoint $1;

[Action Required]: Current NGINX version is affected and vulnerable config was found. Upgrade NGINX or adjust the reported rewrite pattern.

Lorsqu'un motif suspect CVE-2026-9256 est détecté :

root@kitploit:~
--- NGINX Rift Config Scanner (CVE-2026-42945 / CVE-2026-9256) ---
Current NGINX Version: nginx version: nginx/1.23.3
Version Status: Affected version range for NGINX Open Source (0.6.27 - 1.30.1)

[!] VULNERABLE PATTERN FOUND (CVE-2026-9256):
    Context: location ^~ /wengine-auth-static/ {
    [Rewrite Overlapping Captures] rewrite /wengine-auth-static/((.*)) /?$1$2 break;
    [Context] arguments; overlapping refs: $1/$2

[Action Required]: Current NGINX version is affected and vulnerable config was found. Upgrade NGINX or adjust the reported rewrite pattern.

Après détection, il convient de confirmer manuellement si ce contexte de configuration peut être atteint par des requêtes externes, et de mettre à jour NGINX ou d'ajuster la configuration dès que possible.

Recommandations de correction

  • Mettez à jour vers la version corrigée publiée par le fournisseur.
  • Vérifiez toutes les combinaisons rewrite / set dans les contextes location, server, if, etc.
  • Évitez d'utiliser des variables de capture non nommées ($1, $2, etc.) après un rewrite contenant ?.
  • Évitez de concaténer plusieurs groupes de capture qui se chevauchent dans un redirect ou des arguments, par exemple ^/((.*))$ avec ?$1$2.
  • Ne considérez pas break comme une échappatoire pour CVE-2026-9256 ; /?$1$2 break reste vulnérable.
  • Utilisez plutôt des captures nommées, sauvegardez les variables à l'avance, divisez la logique de traitement, ou supprimez les rewrites inutiles de la chaîne de requête.
  • Avant la correction, traitez en priorité les services NGINX accessibles depuis Internet et les entrées de proxy inverse.
  • Ne vous fiez pas uniquement à la version ; il est tout aussi crucial que la configuration contienne ou non la séquence déclenchante.

Limitations

Ce script est un outil de scan statique de configuration. Son objectif est de détecter rapidement les motifs à haut risque, il ne constitue pas une validation d'exploitation de vulnérabilité.

  • Des faux positifs sont possibles ; une vérification manuelle dans le contexte réel de NGINX est nécessaire.
  • Les directives multi-lignes complexes, les inclusions anormales ou les configurations générées dynamiquement peuvent affecter les résultats du scan.
  • L'absence de détection de risque ne garantit pas une sécurité absolue ; il est toujours recommandé de mettre à jour vers une version corrigée officielle.

Références

  • depthfirst: https://depthfirst.com/research/nginx-rift-achieving-nginx-rce-via-an-18-year-old-vulnerability
  • NVD CVE-2026-42945: https://nvd.nist.gov/vuln/detail/CVE-2026-42945
  • F5 Advisory K000161019: https://my.f5.com/manage/s/article/K000161019
Télécharger l’outil