
Exploit-Code für CVE-2026-42533, der eine Proof-of-Concept-Implementierung für die angegebene Schwachstelle bereitstellt.
Full-Chain-Sicherheitsforschung zu CVE-2026-42533 (CVSS 4.0 9.2
CRITICAL): ein Heap-Buffer-Overflow in der Script-Engine von NGINX, bei dem ein
regex-basiertes map den gemeinsamen Capture-Zustand zwischen dem Length-
und dem Copy-Durchlauf einer Complex-Value-Auswertung überschreibt — erreichbar
pre-authentication sowohl auf der HTTP- als auch auf der Stream-(TLS-SNI-)Oberfläche.
Ergebnis: Pre-Auth Remote Code Execution (system() als Worker-
Benutzer) in einem gepinnten Lab, 3/3 reproduziert — plus eine unabhängige
HTTP-Modul-Forschungskette, die die Primitiven des Bugs vom Root
Cause bis zur deterministischen Worker-Kompromittierung abbildet.
| Behauptung | Nachweis |
|---|---|
| Root Cause aus den Fix-Commits abgeleitet (nicht aus Blogs) | finding-sheet |
| Sicherer Detektor: Vulnerable-vs-Patched-Oracle, null Abstürze | poc/diagnose.py (Divergenz served vs 500 no buffer space) |
| Deterministischer Worker-DoS (Heap-Corruption-Abbruch, Core Dump) | poc/crash.py — 2/2, X-Worker-PID-Änderung beweist Worker-Tod |
| Arbitrary-Byte-Overflow inkl. NULs (pointer-fähiger Write) | HTTP-Body-Map-Primitive, Raw-Upstream-Dump verifiziert |
| Pre-Auth RCE, ASLR zur Laufzeit besiegt (keine Lab-Krücken) | exploit/stream_rce.py — 3/3, Leak + Spray + Session-Rebuild |
# stream variant: the full chain (build is a pinned nginx rev, ~3 min)
cd lab/stream && docker compose up -d --build && cd ../..
python3 exploit/stream_rce.py --host 127.0.0.1 --port 29443 \
--cmd 'echo pwned-by-cve-2026-42533 > /tmp/proof'
docker compose -f lab/stream/docker-compose.yml exec nginx-rce cat /tmp/proof
# HTTP variant: deterministic crash PoC + safe detector
cd lab && docker compose up -d --build && cd ..
python3 poc/crash.py 127.0.0.1 8080 # worker aborts, core dumped
python3 poc/diagnose.py 127.0.0.1 8080 # VULNERABLE / PATCHED oracle
| Dokument | Was es ist |
|---|---|
| docs/finding-sheet.md | Einseitiges Datenblatt: Versionen, CVSS, Konfigurationsmuster, Erkennungssignaturen |
| docs/report-ptes.md | Vollständiger PTES-strukturierter Bericht (7 Phasen) mit Laborbelegen |
| docs/research-writeup.md | Die Untersuchungserzählung — Methodik, Sackgassen, übertragbare Lehren, Vergleich mit früheren Arbeiten |
Die Forschungskette zum HTTP-Modul ist originäre Arbeit: die empirisch gemessene Kompilierung des Skripts mit asymmetrischen Längen/Werten, das Gesetz der Wertübergabe in drei Kopien, das NUL-erhaltende Body-Map-Primitiv und die Forensik der Abbruchkette des Allocators. Die vollständige Stream-Varianten-RCE folgt dem veröffentlichten Ansatz von DepthFirst Disclosures (einem genannten Melder) mit Quellenangabe — siehe den Abschnitt Frühere Arbeiten im Writeup für den Technik-für-Technik-Vergleich beider Ketten.
Dieses Repo teilt seine Methodik mit
CVE-2026-42945 — NGINX Rewrite Heap Overrun: Analysis & Deterministic DoS
(Schwester-Repo): dieselbe Klasse von Zwei-Pass-Längen-/Wertfehlern in
der nginx-Skript-Engine, dort über rewrite/is_args erreicht —
Differenzialdetektor plus deterministischer Worker-DoS, wobei die
RCE-Frage offenbleibt.
docs/ finding sheet · PTES report · research writeup
poc/ diagnose.py (safe oracle) · crash.py (deterministic DoS)
exploit/
stream_rce.py full RCE chain (leak → spray → session rebuild → system)
exploit.py HTTP-module chain (research artifact, near-closure)
lab/ HTTP lab (vulnerable 1.31.2 + patched 1.31.3, backends)
lab/stream/ pinned-build lab for the stream variant
b767540, a8289aa, 0cca8e0Bildungsforschungsartefakt. Nur gegen Systeme ausführen, die Sie besitzen oder deren Testen Sie ausdrücklich autorisiert sind. Die Schwachstelle ist gepatcht — aktualisieren Sie nginx auf ≥ 1.30.4 / ≥ 1.31.3.