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-42945-nginx-rift-poc — PoC per CVE-2026-42945 (nginx Rift) — heap buffer overflow nel modulo ngx_http_rewrite_module. Include modalità detect/probe/exploit, laboratorio Docker dual-fixture, scoperta empirica degli indirizzi, sweep di offset verificato OOB. Divulgazione originale di depthfirst. | Kitploit
Strumenti/GitHubGitHub/f2u0a0d3/cve-2026-42945-nginx-rift-poc
Analisi Dinamica (Sandboxing)Framework di ExploitAnalisi delle VulnerabilitàSfruttamento di Applicazioni WebFuzzingPenetration TestingApprendimento e FormazioneBinary ExploitationLab e Pratica

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
GitHubf2u0a0d3/cve-2026-42945-nginx-rift-poc

CVE-2026-42945-nginx-rift-poc

PoC per CVE-2026-42945 (nginx Rift) — heap buffer overflow nel modulo ngx_http_rewrite_module. Include modalità detect/probe/exploit, laboratorio Docker dual-fixture, scoperta empirica degli indirizzi, sweep di offset verificato OOB. Divulgazione originale di depthfirst.

Vedi Repository
13 mesi faNon ancora revisionato

NGINX Rift — CVE-2026-42945

Proof-of-concept di RCE per CVE-2026-42945, una vulnerabilità critica di heap buffer overflow nel modulo ngx_http_rewrite_module di NGINX introdotta nel 2008. Consente l'esecuzione remota di codice non autenticata contro server che utilizzano combinazioni di rewrite ... ?... + cattura set.

Divulgazione originale della vulnerabilità: depthfirst — scoperta insieme a CVE-2026-42946, CVE-2026-40701, CVE-2026-42934 tramite il loro sistema autonomo di audit del codice.

Layout

root@kitploit:~
poc-CVE-2026-42945/
├── exploit.py            — improved PoC (3 modes: --check / --probe / --exploit)
├── poc.py.orig           — original depthfirst PoC (reference)
├── env/                  — dual-fixture Docker lab
│   ├── Dockerfile          (vuln: nginx commit 98fc3bb78)
│   ├── Dockerfile.patched  (patched: release-1.31.0)
│   ├── docker-compose.yml  (both services)
│   ├── nginx.conf          (vulnerable rewrite + set config)
│   ├── entrypoint.sh       (runs under setarch -R — ASLR off)
│   └── server.py           (backend stub)
├── discover-addresses.sh — extract HEAP_BASE / LIBC_BASE / system() offset from running container
├── verify.sh             — dual-fixture reproducer (exploit vuln, prove patched blocks)
├── setup.sh              — build helper (legacy single-image)
├── references.md         — full bug mechanics, exploitation strategy, mitigations
└── README.md             — this file

The Bug (TL;DR)

Motore script a due passaggi, desincronizzazione del flag is_args:

  • Passaggio di lunghezza vede is_args = 0 → alloca la lunghezza grezza della cattura
  • Passaggio di copia vede is_args = 1 → ngx_escape_uri(NGX_ESCAPE_ARGS) espansione 3x → overflow dell'heap

Sfruttamento: heap feng shui tramite corpo POST /spray (byte NUL consentiti nel corpo, falso ngx_pool_cleanup_s piantato) + overflow URI che corrompe la testa ngx_pool_t.cleanup adiacente. Distruzione del pool → system(cmd).

Meccanica completa + strategia di sfruttamento in references.md.

Affected & Fixed

ProdottoAffettoCorretto
NGINX Open Source0.6.27 – 1.30.01.30.1, 1.31.0
NGINX PlusR32 – R36R36 P4, R35 P2, R32 P6

Avviso del fornitore: https://my.f5.com/manage/s/article/K000160932

Quick Start

root@kitploit:~
# Build both fixtures
docker compose -f env/docker-compose.yml build

# Start lab (vuln=:19321, patched=:19421)
docker compose -f env/docker-compose.yml up -d

# Detect-only (no overflow trigger)
python3 exploit.py --check --host 127.0.0.1 --port 19321

# Full exploit
python3 exploit.py --exploit --host 127.0.0.1 --port 19321 \
    --cmd 'echo pwned > /tmp/rift'

docker exec nginx-rift-vuln cat /tmp/rift

# Dual-fixture verify (exploit vuln + confirm patched blocks)
./verify.sh

# Teardown
docker compose -f env/docker-compose.yml down

Modes

I target non localhost richiedono il flag --i-have-tested-this (riconoscimento che gli offset hardcoded corrispondono alla build distribuita).

Address Discovery

Predefiniti --heap-base / --libc-base / --system-offset sono i valori del laboratorio fornito (Ubuntu 22.04 / glibc 2.35 / nginx commit 98fc3bb78 / ASLR disattivato). Per una nuova build o libc diversa:

root@kitploit:~
docker compose -f env/docker-compose.yml up -d nginx-vuln
./discover-addresses.sh
# Copy values into exploit.py invocation

Caveats

  • Solo laboratorio. Gli offset hardcoded sono stabili solo all'interno del fixture fornito. Lo sfruttamento in produzione richiede la derivazione degli offset per target (info leak + enumerazione degli offset).
  • ASLR. Il laboratorio disattiva ASLR tramite setarch -R. I target reali hanno ASLR attivo — è necessaria una primitiva aggiuntiva di info leak.
  • Dipendenza dalla configurazione. La superficie vulnerabile richiede la combinazione rewrite ... ? + set $X $N nel nginx.conf distribuito. Molte configurazioni reali ne sono sprovviste.

Credits

  • Scoperta del bug + PoC originale: depthfirst
  • Questo fork: aggiunte la modalità di rilevamento --check, l'enumerazione degli offset --probe, il fixture corretto, l'helper per la scoperta degli indirizzi, il verificatore dual-fixture
Scarica lo strumento
ModalitàCaso d'usoEffetto collaterale
--checkRileva la presenza della superficie rewriteNessuno — invia solo piccoli URI di sonda
--probeEnumera gli offset di atterraggio spray per QUESTA buildArresta i worker durante la ricerca; nessuna esecuzione
--exploitCatena RCE completaArresto del worker + chiamata system() con --cmd