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-cve-2026-42945-check — Scanner local en lecture seule pour CVE-2026-42945 (NGINX Rift) qui vérifie les instances NGINX, OpenResty et Tengine pour des configurations de rewrite vulnérables sans exécuter d'exploits ni modifier les services. | Kitploit
Outils/GitHubGitHub/byezero/nginx-cve-2026-42945-check
Analyse StatiqueScanners de VulnérabilitésAnalyse des VulnérabilitésScripting et AutomatisationAudit de ConfigurationSécurité Web
GitHubbyezero/nginx-cve-2026-42945-check

nginx-cve-2026-42945-check

Scanner local en lecture seule pour CVE-2026-42945 (NGINX Rift) qui vérifie les instances NGINX, OpenResty et Tengine pour des configurations de rewrite vulnérables sans exécuter d'exploits ni modifier les services.

Voir le dépôt
4il y a 3 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

Script de vérification local NGINX CVE-2026-42945

Langue : 中文 | English

Ce dépôt fournit deux scripts de vérification autonomes pour inspecter localement sur des serveurs Linux/Windows si Nginx, OpenResty, Tengine présentent des risques liés à CVE-2026-42945.

Le script effectue uniquement une collecte en lecture seule et une évaluation locale, n'exécute pas de PoC de vulnérabilité, n'envoie pas de requêtes d'attaque, ne modifie pas la configuration, ne redémarre pas les services, ne met pas à jour les logiciels.

Contexte de la vulnérabilité

CVE-2026-42945, également connu sous le nom de NGINX Rift, est décrit dans les documents publics comme un problème de débordement de tas (heap buffer overflow) dans ngx_http_rewrite_module. Selon la description de NVD, lorsque la directive rewrite forme une combinaison spécifique avec les directives rewrite / if / set suivantes, et implique des variables de capture PCRE non nommées (par exemple , ) ainsi qu'une chaîne de remplacement contenant un point d'interrogation , un attaquant peut déclencher un débordement de tas dans le processus worker NGINX en construisant une requête HTTP. Ce problème peut entraîner le redémarrage du processus worker ; sous certaines conditions comme la désactivation d'ASLR, il existe un risque d'exécution de code.

$1
$2
?

NGINX Security Advisory marque CVE-2026-42945 comme un buffer overflow dans ngx_http_rewrite_module et donne les limites de correction pour NGINX Open Source :

StatutVersion NGINX Open Source
Corrigé1.31.0+ / 1.30.1+
Suspecté affecté0.6.27-1.30.0

Les distributions, produits commerciaux, OpenResty, Tengine ou constructions privées peuvent avoir des différences de rétroportage de correctif ou de mappage de version. Le script collecte autant de preuves que possible, mais il est finalement recommandé de confirmer manuellement en consultant les avis des fournisseurs.

Objectifs de la vérification

Cet outil n'est pas un outil de validation d'exploitation de vulnérabilité, mais un outil de collecte locale et de vérification de configuration statique. Il se concentre sur l'identification des combinaisons suivantes :

  1. Utilisation de variables de capture non nommées non échappées telles que $1, $2 dans la chaîne de remplacement de la directive rewrite.
  2. La même chaîne de remplacement rewrite contient un ? non échappé ; les points d'interrogation littéraux comme \? ne sont pas considérés comme une condition de risque.
  3. Dans le même contexte de configuration, une directive rewrite, if ou set existe ultérieurement.

Exemple de configuration risquée :

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?endpoint=$1 last;
    set $flag 1;
}

Le risque ne provient pas d'une seule directive rewrite ou set, mais des conditions de déclenchement formées par la version, le contexte de configuration et l'ordre d'exécution. En cas de correspondance, il est recommandé de vérifier manuellement si cette configuration est réellement active, si elle peut être atteinte par des requêtes externes, et si elle a déjà été corrigée par un rétroportage de la distribution.

Fichiers

FichierDescription
check_nginx_linux.shScript de vérification local Linux
check_nginx_windows.ps1Script de vérification local Windows
README.mdDocumentation en chinois
README.en.mdREADME en anglais

Périmètre des capacités

Première version prend en charge :

  • Vérification des installations natives de Nginx / OpenResty / Tengine sur la machine.
  • Collecte des informations sur l'hôte, les processus et services, les versions, les paramètres de compilation, la configuration active.
  • Prise en charge de la vérification individuelle de plusieurs instances Nginx / OpenResty / Tengine sur le même serveur.
  • Identification des configurations de rewrite dangereuses liées à CVE-2026-42945.
  • Affichage des résultats en console en chinois, summary.txt, summary.json et répertoire des preuves brutes.

La première version n'inclut pas :

  • Vérification Docker / Kubernetes.
  • Scan SSH / WinRM à distance.
  • Réparation automatique, mise à niveau automatique, modification automatique de la configuration.
  • PoC de vulnérabilité ou requêtes d'attaque.

Prérequis d'exécution

Il est recommandé d'exécuter avec les privilèges d'administrateur :

  • Linux : utiliser un compte root ou disposant des privilèges sudo.
  • Windows : utiliser PowerShell en mode 'Exécuter en tant qu'administrateur'.

Sans privilèges administrateur, le script fera de son mieux pour collecter ; si la configuration active complète nginx -T ne peut pas être exportée, le résultat sera marqué comme Nécessite une vérification manuelle.

Utilisation sous Linux

Après avoir téléchargé check_nginx_linux.sh sur le serveur, exécutez :

root@kitploit:~
chmod +x check_nginx_linux.sh
sudo ./check_nginx_linux.sh

Si sudo n'est pas disponible, vous pouvez exécuter directement :

root@kitploit:~
./check_nginx_linux.sh

Utilisation sous Windows

Après avoir téléchargé check_nginx_windows.ps1 sur le serveur, exécutez avec PowerShell en mode 'Exécuter en tant qu'administrateur' :

root@kitploit:~
powershell -ExecutionPolicy Bypass -File .\check_nginx_windows.ps1

Contenu de la sortie

Le script génère un répertoire de résultats dans le répertoire où se trouve le script. Le nom du répertoire contient le nom d'hôte, l'heure et l'ID du processus du script, évitant le mélange des preuves en cas d'exécutions simultanées dans la même seconde.

root@kitploit:~
nginx_check_<hostname>_<time>_<PID>/
  summary.txt
  summary.json
  raw/
    host_info.txt
    process_info.txt
    service_info.txt
    package_info.txt
    nginx_paths.txt
    instances/
      instance_01/
        nginx_invocation.txt
        nginx_version.txt
        nginx_build.txt
        nginx_config_dump.txt
        risky_config_matches.txt
      instance_02/
        ...
Fichier ou répertoireDescription
summary.txtRésumé en chinois, adapté à la consultation humaine et au renvoi
summary.jsonRésultat structuré, facilitant l'agrégation ultérieure par lots
raw/Sortie des commandes brutes et fichiers de preuve
raw/instances/instance_XX/Version indépendante, configuration et preuves de risque pour chaque instance

Le résumé enregistre :

ChampDescription
Nombre d'instancesNombre d'instances candidates Nginx / OpenResty / Tengine trouvées et vérifiées individuellement sur la machine
Taille de la configurationTaille du fichier de configuration brute exportée par nginx -T
Nombre de lignes scannéesNombre de lignes de sortie de configuration réellement scannées par le script
Nombre de configurations dangereuses correspondantesNombre de règles rewrite dangereuses correspondantes
Résumé des preuvesAperçu des preuves de l'instance la plus risquée ; preuves complètes dans le répertoire de l'instance correspondante

Si la configuration Nginx est volumineuse, le script n'imprime pas la configuration complète dans la console ; la configuration active complète est enregistrée dans nginx_config_dump.txt dans le répertoire de l'instance correspondante. Lorsque le fichier de configuration exporté dépasse 10 Mo, le script continue automatiquement l'analyse et suggère une vérification manuelle ponctuelle en combinaison avec les résultats de raw/.

Gestion de plusieurs instances

Si le serveur trouve plusieurs fichiers exécutables candidats nginx, openresty, tengine, le script les vérifie un par un et génère le détail des instances.

Le résultat dans le résumé global prend l'instance la plus risquée. La conclusion globale suit une priorité prudente :

  1. Affecté avec configurations à risque
  2. Nécessite vérification manuelle
  3. Affecté sans configuration à risque
  4. Non affecté
  5. Nginx non installé

Parmi eux, Nécessite vérification manuelle prime sur Affecté sans configuration à risque, cela signifie qu'il existe des instances non confirmées nécessitant une vérification supplémentaire, et n'équivaut pas à une confirmation de configuration dangereuse existante.

Conclusions de la vérification

ConclusionSignification
Nginx non installéAucune commande, processus ou service Nginx / OpenResty / Tengine trouvé
Non affectéVersion clairement corrigée et aucune configuration dangereuse trouvée
Affecté sans configuration à risqueVersion suspectée affectée, mais aucune configuration rewrite dangereuse trouvée
Affecté avec configurations à risqueVersion suspectée affectée ou version dérivée nécessitant vérification, et configuration rewrite dangereuse trouvée
Nécessite vérification manuelleVersion inconnue, version dérivée, échec de collecte de configuration, privilèges insuffisants ou preuves insuffisantes

Détermination de version

ProduitÉvaluation de version
NGINX 1.31.0+Corrigé, le script affiche Corrigé (mainline)
NGINX 1.30.1+Corrigé, le script affiche Corrigé (stable)
NGINX 0.6.27-1.30.0Suspecté affecté
OpenResty / TengineVersion et configuration peuvent être collectées, mais la relation d'impact de version nécessite une vérification manuelle par défaut

Les distributions peuvent avoir des cas de 'numéro de version plus ancien mais correctif rétroporté'. Si une preuve de correctif du fournisseur peut être fournie, une confirmation manuelle peut être effectuée en combinant summary.txt et les informations de version du paquet.

Recommandations de traitement

  • Mettre à jour en priorité vers la version corrigée publiée par le fournisseur officiel ou de la distribution.
  • Vérifier en priorité les points d'entrée Internet, les entrées de proxy inverse, les instances de load balancing en périphérie.
  • Vérifier toutes les combinaisons rewrite / if / set dans les contextes location, server, if, etc.
  • Éviter d'utiliser des variables de capture non nommées comme $1, $2 dans une chaîne de remplacement rewrite contenant ?.
  • Envisager d'utiliser des captures nommées, de sauvegarder les variables à l'avance, de diviser la logique de traitement, ou de supprimer les réécritures de chaîne de requête inutiles.
  • Ne pas se fier uniquement au jugement de version ; la présence de séquences de déclenchement dans la configuration est tout aussi cruciale.

Limitations

  • Cet outil est un script de vérification locale en lecture seule, ne remplace pas une validation d'exploitation de vulnérabilité.
  • L'analyse statique de configuration peut produire des faux positifs ; une vérification manuelle basée sur le contexte réel NGINX est nécessaire.
  • Si nginx -T ne peut pas exporter entièrement la configuration, le script ne considérera pas la configuration comme sécurisée.
  • Les relations d'impact de version pour OpenResty / Tengine / constructions privées nécessitent une vérification manuelle par défaut.
  • L'absence de risque détecté ne signifie pas une sécurité absolue ; il est toujours recommandé de mettre à jour vers la version corrigée confirmée par le fournisseur officiel ou de la distribution.

Références

  • NGINX Security Advisories
  • NVD: CVE-2026-42945
  • F5 Advisory K000161019
  • depthfirst: NGINX Rift
Télécharger l’outil