Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE2026-42926 — Kontrolliertes NGINX-HTTP/2-Frame-Injektionslabor zur Validierung des CVE-2026-42926-Patches und für defensive Forschung. | Kitploit
Tools/GitHubGitHub/ikarolaborda/cve2026-42926
DefensivwerkzeugeSchwachstellenanalyseKonfigurationsprüfungWebsicherheitLernen & BildungLabs & Praxis
GitHubikarolaborda/cve2026-42926

CVE2026-42926

Kontrolliertes NGINX-HTTP/2-Frame-Injektionslabor zur Validierung des CVE-2026-42926-Patches und für defensive Forschung.

Repository anzeigen
12vor 3 MonatenNoch 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-42926 NGINX HTTP/2 Frame-Injection-Labor

Ein kontrolliertes Cybersicherheits-Labor zum Validieren und Vergleichen von Verhalten im Zusammenhang mit CVE-2026-42926, einem HTTP/2-Frame-Injection-Problem, das bestimmte NGINX- Versionen bei Verwendung einer verwundbaren Proxy-Konfiguration betrifft.

Dieses Repository ist ausschließlich für defensive Forschung, Patch-Validierung, Konfigurationsprüfung und kontrollierte Labor-Reproduktion bestimmt.

Klassifizierung: HTTP/2-Frame-Injection
Betroffene Versionen: NGINX 1.29.4 bis 1.30.0
Behobene Versionen: NGINX 1.30.1+ / 1.31.0+

Sicherheitshinweis

Verwenden Sie dieses Projekt nur in einer isolierten Laborumgebung, die Ihnen gehört oder für die Sie ausdrücklich zum Testen autorisiert sind.

Führen Sie dieses Projekt nicht gegen Systeme Dritter, öffentliche Infrastruktur, gemeinsame Umgebungen oder Produktionsdienste ohne schriftliche Genehmigung aus.

Empfohlene Isolierung:

  • Lokale VM
  • Einweg-Container
  • Privater Test-Host
  • Nicht routbares Labornetz

Was dieses Labor macht

Das Labor prüft, ob eine Ziel-NGINX-Binärdatei und -Konfiguration die Bedingungen erfüllen, die zur Reproduktion des Problems erforderlich sind, sendet eine präparierte Anfrage an die Test- Location und untersucht einen kontrollierten Upstream-Logger auf Hinweise, dass injizierte HTTP/2-frame-ähnliche Bytes die Upstream-Seite erreicht haben.

Das normale Validierungsmuster ist:

  1. Führen Sie dieselbe verwundbare Proxy-Konfiguration mit einem verwundbaren NGINX-Build aus.
  2. Führen Sie dieselbe verwundbare Proxy-Konfiguration mit einem gepatchten NGINX-Build aus.
  3. Vergleichen Sie die Upstream-Beweise und die Skript-Befunde.

Erwartetes Ergebnis:

  • Verwundbarer Build: Injektionsnachweise können beobachtet werden.
  • Gepatchter Build: Es sollten keine Injektionsnachweise beobachtet werden.

Repository-Inhalt

DateiBeschreibung
README.mdProjektdokumentation.
LICENSEMIT-Lizenz.
DockerfileErstellt ein in sich geschlossenes Labor-Image mit NGINX 1.29.4, PHP CLI/cURL, Python und den Projekt-Skripten.
docker-compose.ymlStartet den verwundbaren NGINX-Dienst, den Upstream-Frame-Logger und einen optionalen Validierungs-Runner.
cve_2026_42926_lab.phpHauptskript zur Labor-Validierung. Es prüft Versions-/Konfigurationsvoraussetzungen, sendet die präparierte Anfrage, untersucht Upstream-Logs und gibt einen Befund zurück.
nginx_vulnerable.confBeispielhafte NGINX-Konfiguration, die das verwundbare Proxy-Muster enthält, das sowohl für verwundbare als auch für gepatchte Vergleichsläufe verwendet wird.
docker/nginx_vulnerable.docker.confDocker-spezifische NGINX-Konfiguration, die dasselbe verwundbare Muster und die Compose-Dienstermittlung verwendet.
nginx_config_verify.shHelfer, der prüft, ob eine Ziel-NGINX-Konfiguration das erforderliche verwundbare Proxy-Muster enthält.
upstream_frame_logger.pyKontrollierter Raw-HTTP/2-Upstream-Logger zum Erfassen und Untersuchen der von NGINX empfangenen Frames.
run_lab_comparison.shOrchestriert Vergleichsläufe zwischen verwundbarer und gepatchter Version.
.dockerignoreHält generierte Logs und IDE-Metadaten aus dem Docker-Build-Kontext heraus.

Anforderungen

  • Linux- oder macOS-Shell-Umgebung
  • bash
  • python3
  • php
  • PHP-cURL-Erweiterung
  • NGINX-Test-Binärdateien für die Versionen, die Sie vergleichen möchten
  • Berechtigung, den konfigurierten NGINX-Listen-Port zu binden

Für den containerisierten Workflow:

  • Docker
  • Docker Compose v2

Die Beispielkonfiguration lauscht auf Port 80, was üblicherweise Root-Rechte erfordert. Für ein unprivilegiertes lokales Labor ändern Sie listen 80; in nginx_vulnerable.conf auf einen verfügbaren hohen Port wie 8080 und verwenden Sie dann die passende Ziel-URL im PHP-Befehl.

Einrichtung

Machen Sie die Shell-Skripte ausführbar:

chmod +x nginx_config_verify.sh run_lab_comparison.sh

Bestätigen Sie, dass PHP cURL-Unterstützung hat:

php -m | grep -i curl

Bestätigen Sie, dass jede NGINX-Binärdatei ihre Version ausgeben kann:

/path/to/nginx -V

Labor-Konfiguration

Die bereitgestellte nginx_vulnerable.conf enthält das erforderliche Testmuster:

location /exploit {
    proxy_pass http://127.0.0.1:8081;
    proxy_http_version 2;
    proxy_set_body $request_body;
    proxy_set_header Host $host;
    proxy_set_header Content-Length $content_length;
}

Wichtige Details:

  • proxy_http_version 2 aktiviert HTTP/2-Proxying zum Upstream-Logger.
  • proxy_set_body $request_body verwendet einen clientgesteuerten Anforderungstext.
  • client_max_body_size 20m erlaubt den präparierten 16-MiB-Anforderungstext, der vom Validierungsskript verwendet wird.
  • Der Upstream-Logger lauscht standardmäßig auf 127.0.0.1:8081.

Die Docker-spezifische Konfiguration in docker/nginx_vulnerable.docker.conf behält dasselbe verwundbare Proxy-Muster bei, lauscht jedoch auf Container-Port 8080 und leitet als Proxy an den Compose-Dienstnamen upstream:8081 weiter.

Docker-Schnellstart: NGINX-1.29.4-Labor

Das Dockerfile erstellt NGINX 1.29.4 aus dem Quellcode und installiert die für das Labor erforderlichen PHP/Python- Werkzeuge. Compose führt dann drei Dienste aus demselben Image aus:

  • upstream: Raw-HTTP/2-Frame-Logger
  • nginx: verwundbares NGINX 1.29.4 unter Verwendung von docker/nginx_vulnerable.docker.conf
  • runner: einmaliger PHP-Validierungsbefehl

Erstellen Sie das Labor-Image:

docker compose build

Starten Sie den Upstream-Logger und das verwundbare NGINX:

docker compose up -d upstream nginx

Bestätigen Sie die gebündelte NGINX-Version:

docker compose exec nginx nginx -V

Führen Sie das Validierungsskript im Compose-Netzwerk aus:

docker compose --profile run run --rm runner

Der Runner verwendet diese Argumente im Container:

php /lab/cve_2026_42926_lab.php \
  http://nginx:8080/exploit \
  /lab/upstream_logs \
  /lab/nginx_config_verify.sh \
  /usr/local/nginx/sbin/nginx \
  /lab/docker/nginx_vulnerable.docker.conf \
  /exploit

Generierte Upstream-Logs werden in das Host-Verzeichnis geschrieben:

./upstream_logs/

Der NGINX-Dienst ist auch für den Host verfügbar unter:

http://localhost:8080/version

Stoppen und entfernen Sie die Labor-Container:

docker compose down

Schnellstart: Einzelner Validierungslauf

Starten Sie den kontrollierten Upstream-Logger:

python3 upstream_frame_logger.py 8081 ./upstream_logs

Starten Sie in einem anderen Terminal NGINX mit der Beispielkonfiguration:

/path/to/nginx -c "$PWD/nginx_vulnerable.conf"

Führen Sie das Validierungsskript aus:

php cve_2026_42926_lab.php \
  http://localhost/exploit \
  ./upstream_logs \
  ./nginx_config_verify.sh \
  /path/to/nginx \
  "$PWD/nginx_vulnerable.conf" \
  /exploit

Stoppen Sie NGINX nach dem Lauf:

/path/to/nginx -s stop

Wenn Sie NGINX so geändert haben, dass es auf einem anderen Port lauscht, aktualisieren Sie das erste Argument. Zum Beispiel:

php cve_2026_42926_lab.php http://localhost:8080/exploit ./upstream_logs ./nginx_config_verify.sh /path/to/nginx "$PWD/nginx_vulnerable.conf" /exploit

Schnellstart: Vergleich verwundbar vs. gepatcht

Legen Sie Pfade zu den beiden NGINX-Binärdateien fest und führen Sie das Vergleichs-Harness aus:

VULNERABLE_NGINX=/usr/local/nginx_1.29.4/sbin/nginx \
PATCHED_NGINX=/usr/local/nginx_1.30.1/sbin/nginx \
bash run_lab_comparison.sh

Optionale Konfigurationsüberschreibungen:

VULNERABLE_NGINX=/path/to/vulnerable/nginx \
PATCHED_NGINX=/path/to/patched/nginx \
VULNERABLE_CONFIG="$PWD/nginx_vulnerable.conf" \
PATCHED_CONFIG="$PWD/nginx_vulnerable.conf" \
bash run_lab_comparison.sh

Das Vergleichsskript schreibt:

Tool herunterladen