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
Tools/GitHubGitHub/ivanesk315/cve-2026-42533
SchwachstellenscannerSchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitFuzzingPapers & ForschungLernen & BildungLabs & Praxis
GitHubivanesk315/cve-2026-42533

CVE-2026-42533

Docker-Lab zur Reproduktion von CVE-2026-42533, einem Pre-Auth-nginx-Heap-Overflow und Info-Leak durch Two-Pass-Capture-Clobbering, mit PoC-Skripten und gepatchtem Vergleich.

vor 18h 32mNoch nicht geprüft
Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

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

CVSS 9.2 (Kritisch) — Pre-Auth Heap-Buffer-Overflow + Info-Leak in nginx Betroffen: nginx 0.9.6 – 1.30.3 / 1.31.2 | Gepatcht: 1.30.4 / 1.31.3

Architektur

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

Schnellstart

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

Schwachstellenmechanismus

Ursache

nginx wertet Direktivenwerte (proxy_set_header, return, add_header, etc.) in zwei Durchläufen unter Verwendung eines gemeinsam genutzten, veränderlichen Arrays r->captures aus:

DurchlaufZweckLiest r->captures
LENBenötigte Puffergröße messenJa — um die Länge von $1 zu ermitteln
(regex map evaluates here, CLOBBERING r->captures)
VALUEDaten in den zugewiesenen Puffer schreibenJa — aber jetzt zeigt $1 woanders hin

Anfälliges Konfigurationsmuster

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
}

Angriffsrichtungen

RichtungURI-GrößeMap-EingabegrößeErgebnis
OverflowKurz (3 B)Lang (4096 B)LEN weist klein zu, VALUE schreibt groß → Heap-Overflow
Info LeakLang (8000 B)Kurz (5 B)LEN weist groß zu, VALUE schreibt klein → Heap-Rückstände in der Antwort

Lab-Szenarien

EndpunktSinkMap-TriggerDemo
/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)NoneControl (safe)

Dateien

DateiZweck
docker-compose.ymlLab-Orchestrierung
Dockerfile.nginx-vulnAnfälliges nginx 1.26.x
Dockerfile.nginx-patchedGepatchtes nginx 1.30.4
nginx-vuln.confAnfällige Konfiguration mit kommentierten Mustern
backend.pyEcho-Server zur Überprüfung der weitergeleiteten Header
poc_overflow.pyHeap-Overflow-PoC (eskalierende Payload-Größen)
poc_infoleak.pyInfo-Leak-PoC (Erkennung von Heap-Rückständen)
poc_curl.shSchnelle curl-basierte Tests

Erkennung

Verwenden Sie den Config-Scanner:

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

Gegenmaßnahmen (ohne Patchen)

  1. Trennen Sie Regex-Captures und Regex-Map-Variablen in verschiedene Direktiven/Locations
  2. Verwenden Sie benannte Captures und referenzieren Sie diese nur innerhalb des Blocks, der den Regex-Match enthält
  3. Vermeiden Sie ~ / ~* Regex-Muster in map, wenn Captures an anderer Stelle verwendet werden

Referenzen

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

NUR FÜR BILDUNGSZWECKE UND AUTORISIERTE SICHERHEITSTESTS.

Tool herunterladen