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
CVE-2026-27654-PoC — Proof-of-Concept und technische Analyse für CVE-2026-27654, eine heap-basierte Pufferüberlauf-Schwachstelle im NGINX HTTP WebDAV-Modul, einschließlich Ursachenanalyse, Reproduktion und Mitigation. | Kitploit
Tools/GitHubGitHub/debajyoti0-0/cve-2026-27654-poc
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsPayload-EntwicklungBinary-Exploitation
GitHubdebajyoti0-0/cve-2026-27654-poc

CVE-2026-27654-PoC

Proof-of-Concept und technische Analyse für CVE-2026-27654, eine heap-basierte Pufferüberlauf-Schwachstelle im NGINX HTTP WebDAV-Modul, einschließlich Ursachenanalyse, Reproduktion und Mitigation.

Repository anzeigen
116vor 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-27654 – nginx ngx_http_dav_module DAV-Alias-Pfadverarbeitung PoC

Dieses Repository stellt einen Proof-of-Concept-Exploit für CVE-2026-27654 bereit, eine Heap-Overflow-Schwachstelle im ngx_http_dav_module von nginx. Der Fehler entsteht durch einen size_t-Unterlauf bei der Verarbeitung von MOVE/COPY-Anfragen mit speziell präparierten Destination-Headern und alias-basierten Locations.

⚠️ Haftungsausschluss: Dieses Tool ist ausschließlich für autorisiertes Sicherheitsresearch und -testing gedacht. Verwende es nur gegen Systeme, die dir gehören oder für die du eine ausdrückliche Testgenehmigung hast. Die Autoren übernehmen keine Haftung für Missbrauch.

CVE-2026-27654 Logo

🔥 Schwachstellenübersicht

CVE-2026-27654 ist ein remote auslösbarer heap-basierter Pufferüberlauf im NGINX-HTTP-WebDAV-Modul, verursacht durch einen Integer-Unterlauf in ngx_http_dav_copy_move_handler() (src/http/modules/ngx_http_dav_module.c). Die Schwachstelle tritt auf, wenn die Länge der Ziel-URI durch Subtraktion des konfigurierten Location-Präfixes vom Pfad des Destination-Headers ermittelt wird. Da beide Operanden vom Typ size_t sind, führt ein kürzerer Zielpfad dazu, dass die Subtraktion auf einen nahezu maximalen vorzeichenlosen Wert umschlägt.

Die umgeschlagene Länge wird anschließend als Größenargument an memcpy() übergeben, was zu einem Out-of-Bounds-Heap-Schreibzugriff führt, der den Speicher beschädigt und den NGINX-Worker-Prozess sofort zum Absturz bringt. Ein entfernter, nicht authentifizierter Angreifer kann diesen Zustand zuverlässig mit einer einzigen präparierten MOVE- oder COPY-Anfrage gegen eine alias-gemappte WebDAV-Location auslösen. Während der NGINX-Master-Prozess fehlgeschlagene Worker automatisch neu startet, können wiederholte Anfragen den Dienst in einer kontinuierlichen Worker-Absturzschleife halten, was zu einem anhaltenden Denial-of-Service (DoS) führt.

AddressSanitizer (ASan) bestätigt die Schwachstelle mit einem negative-size-param-Fehler in memcpy() und verfolgt den Ausführungspfad von ngx_http_dav_copy_move_handler() bis ngx_http_core_module.c. Die Schwachstelle betrifft NGINX 0.5.13–1.28.2 (stable) und 1.29.0–1.29.6 (mainline), wenn mit --with-http_dav_module kompiliert und mit der alias-Direktive konfiguriert. Das Problem wurde in NGINX 1.28.3 und 1.29.7 (Commit ab4b5b8, PR #1210) durch ordnungsgemäße Validierung der berechneten Zielpfadlänge vor Speicheroperationen behoben.

✨ Funktionen

  • Interaktive Modusauswahl – Wählen Sie zur Laufzeit aus vier Betriebsmodi (crash, write‑file, cron‑shell, cron‑cmd) über ein übersichtliches nummeriertes Menü.
  • Crash-Trigger – Senden Sie die kanonische MOVE/COPY-Anfrage, die den size‑t-Unterlauf auslöst und den verwundbaren Worker zum Absturz bringt.
  • Write‑file-Modus – Laden Sie beliebige Inhalte an jeden Ort im Dateisystem hoch (erfordert ein Lab-Setup mit beschreibbarem alias).
  • Cron‑shell-Bereitstellung – Stellen Sie einen Reverse-Shell-Cron-Job in /etc/cron.d/ bereit, mit interaktiven Eingabeaufforderungen für LHOST/LPORT und einer Erinnerung zum Starten des Listeners.
  • Cron‑cmd-Bereitstellung – Führen Sie einen benutzerdefinierten Befehl über cron aus; akzeptiert entweder interaktive Eingaben oder das Flag --cron-command.
  • Schwachstellenprüfung (--check) – Nicht-interaktiver Modus, der den Absturztest ausführt und ein klares [VULNERABLE] / [NOT VULNERABLE]-Urteil ausgibt und mit Code 0 oder 1 beendet wird.
  • HTTP-Proxy-Unterstützung (--proxy) – Leiten Sie alle Anfragen über einen HTTP/HTTPS-Proxy (z. B. Burp Suite, mitmproxy) für Debugging oder Verkehrsinspektion.
  • Intelligente Dateiverwaltung – Prüft, ob die Trigger-Datei bereits existiert (via HEAD/GET), und überspringt das PUT, falls vorhanden, um unnötige Uploads zu vermeiden.
  • Flexible Payload-Optionen – Stellen Sie Payloads über --payload-file (binär), --payload-text (wörtlicher Text) bereit oder verwenden Sie den Standard-Testinhalt.
  • Umfassende Kommandozeilenargumente – Feinabstimmung jedes Aspekts des Exploits: --destination-path, --alias-len, --escape-depth, --method, --location-prefix und mehr.
  • Robuster Fallback – Wenn die requests-Bibliothek nicht installiert ist, greift das Skript auf Pythons Standard-http.client zurück (Proxy-Unterstützung ist im Fallback-Modus deaktiviert).

📦 Installation

git clone https://github.com/Debajyoti0-0/CVE-2026-27654-PoC.git
cd CVE-2026-27654-PoC
pip install -r requirements.txt

🚀 Verwendung

Interaktiver Modus (Menü)

python exploit.py --target 192.168.1.100:8080

Ihnen wird ein nummeriertes Menü angezeigt und Sie werden aufgefordert, einen Modus auszuwählen.

Schwachstellenprüfung (nicht interaktiv)

python exploit.py --target 192.168.1.100:8080 --check

Dadurch wird der crash-Modus erzwungen, der Exploit ausgeführt und [VULNERABLE] oder [NOT VULNERABLE] ausgegeben, bevor mit dem Code 0 oder 1 beendet wird.

Mit einem HTTP-Proxy

python exploit.py --target 192.168.1.100:8080 --proxy http://127.0.0.1:8080

Alle HTTP-Anfragen werden über den angegebenen Proxy gesendet (nützlich für das Debugging mit Burp).

⚙️ Flags-Referenz

FlagBeschreibungBeispiel
--target HOST:PORTZiel-nginx-Instanz (Standard: 127.0.0.1:8080).--target 10.0.0.5:80
--verbose, -vVollständige HTTP-Antworten anzeigen (Header und Body).-v
--no-putDen anfänglichen PUT überspringen (Trigger-Datei existiert bereits). Nützlich für wiederholte Tests.--no-put
--location-prefixDAV-Location-Präfix (Standard: /uploads/). Muss mit der alias-Location in der nginx-Konfiguration übereinstimmen.--location-prefix /dav/
--remote-nameDateiname der Remote-Quelle, der innerhalb der DAV-Location abgelegt wird (Standard: triggerfile.txt).--remote-name test.txt
--method {MOVE,COPY}DAV-Methode für die Zielanfrage (Standard: MOVE).--method COPY
--destination-pathZiel-URI-Pfad – wird für die Crash-Arithmetik oder als endgültiger Dateipfad für Delivery-Modi verwendet.--destination-path /etc/cron.d/backdoor
--alias-lenLänge des konfigurierten alias-Strings (wird für die Anzeige der Crash-Arithmetik verwendet, Standard 13).--alias-len 20
--escape-depthAnzahl der ../-Pfadkomponenten zum Verlassen des DAV-Roots (Standard 1).--escape-depth 3
--payload-fileLokale Datei, die als Payload hochgeladen wird. Überschreibt den Standard-Testinhalt.--payload-file ./shell.php
--payload-textLiteraler Text-Payload für den write-file-Modus.--payload-text "<?php phpinfo(); ?>"
--lhostCallback-Host für die Reverse Shell (für cron-shell). Wenn nicht angegeben, fragt das Skript interaktiv nach.--lhost 192.168.1.50
--lportCallback-Port für die Reverse Shell (für cron-shell).--lport 4444
--cron-commandBefehl, der über cron ausgeführt wird (für cron-cmd). Wenn nicht angegeben, fragt das Skript interaktiv nach.--cron-command "rm -rf /tmp/*"
--waitSekunden, die nach der cron-Auslieferung gewartet wird, bis der Job ausgeführt wird (Standard 65).--wait 120
--checkFührt den Schwachstellen-Check aus (Crash-Test, nicht interaktiv). Gibt VULNERABLE/NOT VULNERABLE aus und beendet sich mit Code 0/1.--check
--proxy PROXY_URLHTTP/HTTPS-Proxy-URL (z. B. http://127.0.0.1:8080). Erfordert die requests-Bibliothek.--proxy http://127.0.0.1:8080
Tool herunterladen