Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
ai-vuln-rediscovery-nginx-cve-2026-42945 — Redécouverte reproductible de vulnérabilité assistée par IA de CVE-2026-42945 dans nginx, y compris l'analyse technique, le déclencheur PoC et la validation du correctif pour le débordement de tampon de tas. | Kitploit
Outils/GitHubGitHub/chamsbouzaiene/ai-vuln-rediscovery-nginx-cve-2026-42945
Analyse des VulnérabilitésSécurité WebArticles et RechercheApprentissage et ÉducationSécurité de l'IAExploitation de Binaires
GitHubchamsbouzaiene/ai-vuln-rediscovery-nginx-cve-2026-42945

ai-vuln-rediscovery-nginx-cve-2026-42945

Redécouverte reproductible de vulnérabilité assistée par IA de CVE-2026-42945 dans nginx, y compris l'analyse technique, le déclencheur PoC et la validation du correctif pour le débordement de tampon de tas.

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

Redécouverte Assistée par IA de CVE-2026-42945 dans nginx

Ce dépôt documente une expérience reproductible de redécouverte de vulnérabilité assistée par IA contre ngx_http_rewrite_module de nginx, ultérieurement associée à CVE-2026-42945.

L'expérience est délibérément restreinte. Le fichier vulnérable, src/http/ngx_http_script.c, a été directement fourni au modèle pour audit. Il ne s'agit pas d'une affirmation selon laquelle un système d'IA aurait trouvé le problème de manière autonome dans l'ensemble du code source de nginx.

Résumé

Le bogue audité est un débordement de tampon sur le tas causé par un état obsolète du moteur de script dans le traitement de réécriture de nginx.

De manière générale :

  1. Une chaîne de remplacement de rewrite contenant ? définit e->is_args = 1.
  2. Dans le code vulnérable, e->is_args n'est pas effacé après la fin de la réécriture.
  3. Une expression set, if ou rewrite ultérieure qui copie une capture nommée ou non d'une expression régulière, comme $1, peut dimensionner le tampon de destination comme si la capture était copiée brute.
  4. La passe d'écriture voit ensuite e->is_args = 1 obsolète et échappe la capture dans l'URI.
  5. L'échappement peut étendre des octets tels que les espaces, passant d'un octet à trois octets, de sorte que la passe d'écriture dépasse l'allocation calculée par la passe de longueur.

La reproduction locale avec AddressSanitizer confirme un débordement de tampon sur le tas dans :

ngx_escape_uri
ngx_http_script_copy_capture_code
ngx_http_rewrite_handler

Contenu de ce dépôt

.
├── README.md
├── LICENSE
├── prompts/
│   ├── audit_prompt.md
│   └── poc_prompt.md
├── poc/
│   ├── trigger.py
│   ├── nginx.conf
│   ├── reproduce.sh
│   └── expected_output.txt
├── docs/
│   ├── technical-analysis.md
│   ├── vulnerability-breakdown.md
│   └── methodology.md
└── screenshots/
    └── asan-crash.png

Reproduction

Le PoC est conçu pour une construction locale en laboratoire de nginx vulnérable avec AddressSanitizer activé. Il démarre nginx sur 127.0.0.1:18080, envoie une requête conçue à un serveur local et affiche les preuves du crash.

1. Construire nginx vulnérable avec ASan

Utilisez une arborescence source nginx affectée. L'expérience a été validée avec nginx 1.30.0 construit avec clang et ASan :

./auto/configure \
  --prefix=/tmp/nginx-asan-poc \
  --with-cc-opt='-O0 -g -fsanitize=address -fno-omit-frame-pointer' \
  --with-ld-opt='-fsanitize=address'

make -j"$(getconf _NPROCESSORS_ONLN 2>/dev/null || sysctl -n hw.ncpu)"

2. Exécuter le PoC

Depuis ce dépôt :

NGINX_BIN=/chemin/vers/nginx/vulnerable/objs/nginx ./poc/reproduce.sh

Si ce dépôt est placé directement dans le répertoire source nginx utilisé pour la validation, le script trouve également ../../objs/nginx automatiquement.

3. Résultat attendu

Une reproduction réussie affiche un rapport ASan similaire à :

ERROR: AddressSanitizer: heap-buffer-overflow
WRITE of size 1
    #0 ngx_escape_uri ngx_string.c:1687
    #1 ngx_http_script_copy_capture_code ngx_http_script.c:1399
    #2 ngx_http_rewrite_handler ngx_http_rewrite_module.c:180

Voir poc/expected_output.txt.

Capture d'écran du crash ASan

Configuration de déclenchement minimale

La configuration nginx utilisée par le PoC est intentionnellement petite :

location / {
    rewrite ^(.*) /new?c=1;
    set $myvar $1;
    return 200 "$myvar\n";
}

La première rewrite définit e->is_args car la chaîne de remplacement contient ?. Le set ultérieur évalue $1 alors que cet état obsolète est toujours présent.

Correctif officiel

Le correctif minimal réinitialise le drapeau d'état des arguments du moteur de script lorsqu'une réécriture par expression régulière se termine :

e->is_args = 0;
e->quote = 0;

Dans l'arborescence source utilisée pour cette expérience, le correctif apparaît comme le commit :

524977e7c534e87e5b55739fa74601c9f1102686
Rewrite: fixed escaping and possible buffer overrun

Le point clé n'est pas la taille du correctif, mais l'invariant d'état qu'il rétablit : la passe de longueur et la passe d'écriture doivent être d'accord sur le fait que les captures sont copiées comme arguments d'URI.

Transparence de l'expérience

Cette expérience a utilisé un agent de codage de pointe comme assistant d'audit. L'invite dirigeait explicitement le modèle pour se concentrer sur les problèmes de sécurité mémoire dans src/http/ngx_http_script.c et pour prêter une attention particulière aux divergences de longueur/écriture en deux passes.

Limitations importantes :

  • Le fichier source vulnérable a été fourni directement.
  • L'invite d'audit était hautement ciblée sur la classe de bogues.
  • Le modèle avait accès à l'historique du dépôt local pendant la validation.
  • Le résultat doit être interprété comme une redécouverte guidée, et non comme une chasse aux bogues autonome.
  • Le PoC ne démontre que des preuves de crash/ASan ; ce n'est pas une exploit weaponisé.

Les invites exactes sont incluses dans prompts/audit_prompt.md et prompts/poc_prompt.md.

Utilisation responsable

Ce dépôt est destiné à la recherche défensive, à la validation de correctifs et à la reproductibilité. N'exécutez le PoC que sur des instances de laboratoire locales que vous contrôlez.

Licence

La documentation et le harnais PoC de ce dépôt sont publiés sous la licence MIT. nginx lui-même n'est pas inclus et est régi par sa propre licence.

Télécharger l’outil