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
Outils/GitHubGitHub/ivanesk315/cve-2026-42533
Scanners de VulnérabilitésAnalyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebFuzzingArticles et RechercheApprentissage et ÉducationLabs et Pratique
GitHubivanesk315/cve-2026-42533

CVE-2026-42533

Docker lab reproduisant CVE-2026-42533, un débordement de tas nginx pré-authentification et une fuite d'informations via l'écrasement de capture en deux passes, avec des scripts PoC et une comparaison corrigée.

il y a 0 joursPas encore vérifié
Voir le dépôt

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

CVE-2026-42533 Lab — NGINX Two-Pass Capture Clobbering RCE

CVSS 9.2 (Critique) — Débordement de tampon heap pré-authentification + fuite d'informations dans nginx Affecté : nginx 0.9.6 – 1.30.3 / 1.31.2 | Corrigé : 1.30.4 / 1.31.3

Architecture

root@kitploit:~
                    ┌─────────────────────────────────────┐
                    │           Machine hôte               │
                    │                                      │
  Scripts PoC ──────┤  :8080 ──► nginx-vuln  (1.26.x)     │
                    │              │          VULNÉRABLE   │
                    │              ▼                        │
                    │           backend (Python echo)       │
                    │              ▲                        │
                    │              │                        │
                    │  :8081 ──► nginx-patched (1.30.4)     │
                    │                          SÛR          │
                    └─────────────────────────────────────┘

Démarrage rapide

root@kitploit:~
# Build and start
docker compose up --build -d

# Verify
curl http://localhost:8080/health
curl http://localhost:8081/health

# Run PoC
python3 poc_overflow.py          # Heap overflow (crash worker)
python3 poc_infoleak.py          # Info leak (heap residue)
bash poc_curl.sh                 # Quick curl-based tests

# Compare with patched
python3 poc_overflow.py localhost 8081
python3 poc_infoleak.py localhost 8081

# Check for crashes
docker logs nginx-vuln 2>&1 | grep -iE 'signal|segfault|abort'

# Cleanup
docker compose down

Mécanisme de la vulnérabilité

Cause racine

nginx évalue les valeurs de directive (proxy_set_header, return, add_header, etc.) en deux passes à l'aide d'un tableau mutable partagé r->captures :

PasseObjectifLit r->captures
LENMesurer la taille de tampon nécessaireOui — pour obtenir la longueur de $1
(la regex map est évaluée ici, ÉCRASANT r->captures)
VALUEÉcrire les données dans le tampon allouéOui — mais maintenant $1 pointe ailleurs

Modèle de configuration vulnérable

root@kitploit:~
map $http_user_agent $is_bot {
    ~*(bot|crawl|spider)  1;         # ← regex map = clobber trigger
    default               0;
}

location ~ "^/api/v1/(.+)$" {       # ← regex capture source
    proxy_set_header X-Route "$1 — $is_bot";   # ← two-pass sink
    #                         ^^    ^^^^^^^
    #                  capture ref + map var in same buffer = BUG
}

Directions d'attaque

DirectionTaille de l'URITaille de l'entrée mapRésultat
DébordementCourte (3 o)Longue (4096 o)LEN alloue petit, VALUE écrit grand → débordement de heap
Fuite d'informationsLongue (8000 o)Courte (5 o)LEN alloue grand, VALUE écrit petit → résidu de heap dans la réponse

Scénarios du lab

EndpointSinkDéclencheur mapDémo
/api/v1/{path}proxy_set_header$is_bot (User-Agent)Débordement
/leak/{path}return + add_header$ref_domain (Referer)Fuite d'informations
/rce/{path}set + return$is_bot (User-Agent)Débordement
/safe/{path}return (sans map)AucunContrôle (sûr)

Fichiers

FichierObjectif
docker-compose.ymlOrchestration du lab
Dockerfile.nginx-vulnnginx 1.26.x vulnérable
Dockerfile.nginx-patchednginx 1.30.4 corrigé
nginx-vuln.confConfiguration vulnérable avec motifs annotés
backend.pyServeur echo pour inspecter les en-têtes proxifiés
poc_overflow.pyPoC de débordement de heap (tailles de payload croissantes)
poc_infoleak.pyPoC de fuite d'informations (détection de résidu de heap)
poc_curl.shTests rapides basés sur curl

Détection

Utilisez le scanner de configuration :

root@kitploit:~
python3 nginx_capture_clobber_scan.py /etc/nginx/nginx.conf

Atténuation (sans correctif)

  1. Séparer les captures regex et les variables de regex map dans des directives/locations différentes
  2. Utiliser des captures nommées et ne les référencer qu'à l'intérieur du bloc contenant la correspondance regex
  3. Éviter les motifs regex ~ / ~* dans map lorsque des captures sont utilisées ailleurs

Références

  • Article du chercheur (cyberstan.co.uk)
  • Entrée NVD
  • Scanner de configuration
  • Avis nginx

À DES FINS ÉDUCATIVES ET DE TESTS DE SÉCURITÉ AUTORISÉS UNIQUEMENT.

Télécharger l’outil