Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-42945-nginx-rift-poc — PoC für CVE-2026-42945 (nginx Rift) – Heap-Pufferüberlauf im ngx_http_rewrite_module. Enthält Erkennungs-, Sondierungs- und Exploit-Modi, Dual-Fixture-Docker-Labor, empirische Adressermittlung, OOB-verifizierter Offset-Sweep. Ursprüngliche Offenlegung durch depthfirst. | Kitploit
Tools/GitHubGitHub/f2u0a0d3/cve-2026-42945-nginx-rift-poc
Dynamische Analyse (Sandboxing)Exploit-FrameworksSchwachstellenanalyseWebanwendungs-ExploitationFuzzingPenetrationstestsLernen & BildungBinary-ExploitationLabs & Praxis

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHubf2u0a0d3/cve-2026-42945-nginx-rift-poc

CVE-2026-42945-nginx-rift-poc

PoC für CVE-2026-42945 (nginx Rift) – Heap-Pufferüberlauf im ngx_http_rewrite_module. Enthält Erkennungs-, Sondierungs- und Exploit-Modi, Dual-Fixture-Docker-Labor, empirische Adressermittlung, OOB-verifizierter Offset-Sweep. Ursprüngliche Offenlegung durch depthfirst.

Repository anzeigen
1vor 3 MonatenNoch nicht geprüft

NGINX Rift — CVE-2026-42945

RCE-Proof-of-Concept für CVE-2026-42945, einen kritischen Heap-Pufferüberlauf in NGINX's ngx_http_rewrite_module, der 2008 eingeführt wurde. Ermöglicht nicht authentifizierte Remotecodeausführung gegen Server, die rewrite ... ?... + set-Capturing-Kombinationen verwenden.

Ursprüngliche Offenlegung der Schwachstelle: depthfirst — gefunden zusammen mit CVE-2026-42946, CVE-2026-40701, CVE-2026-42934 über ihr autonomes Quellcode-Audit-System.

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

Der Fehler (TL;DR)

Zwei-Pass-Skript-Engine, Desynchronisation des is_args-Flags:

  • Längen-Durchlauf sieht is_args = 0 → alloziert Roh-Capturing-Länge
  • Kopier-Durchlauf sieht is_args = 1 → ngx_escape_uri(NGX_ESCAPE_ARGS) 3-fache Expansion → Heap-Überlauf

Ausnutzung: Heap-Feng-Shui über POST /spray-Body (NUL-Bytes im Body erlaubt, gefälschtes ngx_pool_cleanup_s eingepflanzt) + URI-Überlauf, der den benachbarten ngx_pool_t.cleanup-Head beschädigt. Pool-Zerstörung → system(cmd).

Vollständige Mechanik + Ausnutzungsstrategie in references.md.

Betroffen und behoben

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

Herstellerhinweis: https://my.f5.com/manage/s/article/K000160932

Schnellstart

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

Modi

Nicht-Localhost-Ziele erfordern das --i-have-tested-this-Flag (Bestätigung, dass die fest codierten Offsets mit dem bereitgestellten Build übereinstimmen).

Adresserkennung

Die Standardwerte für --heap-base / --libc-base / --system-offset sind die des mitgelieferten Labors (Ubuntu 22.04 / glibc 2.35 / nginx Commit 98fc3bb78 / ASLR aus). Für einen neuen Build oder eine andere libc:

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

Einschränkungen

  • Nur Labor. Fest codierte Offsets sind nur innerhalb der mitgelieferten Testumgebung stabil. Produktive Ausnutzung erfordert pro-Ziel-Offsetableitung (Info-Leak + Offset-Auflistung).
  • ASLR. Das Labor deaktiviert ASLR über setarch -R. Echte Ziele haben ASLR aktiviert — zusätzliches Info-Leak-Primitiv erforderlich.
  • Konfigurationsabhängigkeit. Die angreifbare Oberfläche erfordert die Kombination rewrite ... ? + set $X $N in der bereitgestellten nginx.conf. Viele echte Konfigurationen haben dies nicht.

Danksagungen

  • Fehlerentdeckung + ursprünglicher PoC: depthfirst
  • Dieser Fork: hinzugefügt --check-Erkennungsmodus, --probe-Offset-Auflistung, gepatchte Testumgebung, Adresserkennung-Helfer, Dual-Fixture-Verifizierer
Tool herunterladen
ModusAnwendungsfallNebenwirkung
--checkVorhandensein der Rewrite-Oberfläche erkennenKeine — sendet nur kleine Probe-URIs
--probeAuflistung der Spray-Landing-Offsets für DIESEN BuildStürzt Worker während der Suche ab; keine Ausführung
--exploitVollständige RCE-KetteWorker-Absturz + system()-Aufruf mit --cmd