Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-42533 — Docker lab che riproduce CVE-2026-42533, un heap overflow pre-auth in nginx e info leak tramite two-pass capture clobbering, con script PoC e confronto con la versione patchata. | Kitploit
Strumenti/GitHubGitHub/ivanesk315/cve-2026-42533
Scanner di VulnerabilitàAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebFuzzingPaper e RicercaApprendimento e FormazioneLab e Pratica
GitHubivanesk315/cve-2026-42533

CVE-2026-42533

Docker lab che riproduce CVE-2026-42533, un heap overflow pre-auth in nginx e info leak tramite two-pass capture clobbering, con script PoC e confronto con la versione patchata.

1 giorno faNon ancora revisionato
Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

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

CVSS 9.2 (Critico) — Heap buffer overflow pre-auth + info leak in nginx Interessato: nginx 0.9.6 – 1.30.3 / 1.31.2 | Corretto: 1.30.4 / 1.31.3

Architettura

root@kitploit:~
                    ┌─────────────────────────────────────┐
                    │           Host machine               │
                    │                                      │
  PoC scripts ──────┤  :8080 ──► nginx-vuln  (1.26.x)     │
                    │              │          VULNERABLE    │
                    │              ▼                        │
                    │           backend (Python echo)       │
                    │              ▲                        │
                    │              │                        │
                    │  :8081 ──► nginx-patched (1.30.4)     │
                    │                          SAFE         │
                    └─────────────────────────────────────┘

Avvio Rapido

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

Meccanismo della Vulnerabilità

Causa Principale

nginx valuta i valori delle direttive (proxy_set_header, return, add_header, ecc.) in due passaggi utilizzando un array mutabile condiviso r->captures:

PassaggioScopoLegge r->captures
LENMisura la dimensione del buffer necessariaSì — per ottenere la lunghezza di $1
(la regex map viene valutata qui, CLOBBERANDO r->captures)
VALUEScrive i dati nel buffer allocatoSì — ma ora $1 punta altrove

Pattern di Configurazione Vulnerabile

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
}

Direzioni di Attacco

DirezioneDimensione URIDimensione input mapRisultato
OverflowCorta (3 B)Lunga (4096 B)LEN alloca poco, VALUE scrive molto → heap overflow
Info LeakLunga (8000 B)Corta (5 B)LEN alloca molto, VALUE scrive poco → residuo heap nella risposta

Scenari del Lab

EndpointSinkTrigger MapDemo
/api/v1/{path}proxy_set_header$is_bot (User-Agent)Overflow
/leak/{path}return + add_header$ref_domain (Referer)Info leak
/rce/{path}set + return$is_bot (User-Agent)Overflow
/safe/{path}return (no map)NessunoControllo (sicuro)

File

FileScopo
docker-compose.ymlOrchestrazione del lab
Dockerfile.nginx-vulnnginx 1.26.x vulnerabile
Dockerfile.nginx-patchednginx 1.30.4 corretto
nginx-vuln.confConfigurazione vulnerabile con pattern annotati
backend.pyServer echo per ispezionare gli header proxati
poc_overflow.pyPoC heap overflow (dimensioni payload crescenti)
poc_infoleak.pyPoC info leak (rilevamento residuo heap)
poc_curl.shTest rapidi basati su curl

Rilevamento

Usa il config scanner:

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

Mitigazione (senza patch)

  1. Separare le catture regex e le variabili regex map in direttive/location diverse
  2. Usare catture con nome e referenziarle solo all'interno del blocco che contiene il match regex
  3. Evitare pattern regex ~ / ~* in map quando le catture sono usate altrove

Riferimenti

  • Researcher writeup (cyberstan.co.uk)
  • NVD entry
  • Config scanner
  • nginx advisory

SOLO PER TEST DI SICUREZZA EDUCATIVI E AUTORIZZATI.

Scarica lo strumento