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-33032 — Ein einziger fehlender Funktionsaufruf bei der Routenregistrierung genügte, um die MCP-Schnittstelle in ein nicht authentifiziertes RCE-Gateway zu verwandeln. | Kitploit
Tools/GitHubGitHub/keraattin/cve-2026-33032
AufklärungSchwachstellenscannerExploitationWebsicherheitNetzwerksicherheitPenetrationstestsAPI-Sicherheit
GitHubkeraattin/cve-2026-33032

CVE-2026-33032

Ein einziger fehlender Funktionsaufruf bei der Routenregistrierung genügte, um die MCP-Schnittstelle in ein nicht authentifiziertes RCE-Gateway zu verwandeln.

Repository anzeigen
511vor 5 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-33032 / MCPwn

CVE CVSS Status Affected License Python

Nicht-destruktives Erkennungswerkzeug für die nginx-ui MCP-Authentifizierungs- Umgehung, die öffentlich als MCPwn bekannt ist. Ermöglicht die Übernahme jeder nginx-ui-Instanz mit einer verwundbaren Version durch zwei HTTP-Anfragen ohne Authentifizierung.

Inhaltsverzeichnis

  1. Kurzfakten
  2. Schwachstellenübersicht
  3. Technische Tiefenanalyse
  4. Erkennungsstrategie
  5. Installation
  6. Verwendung
  7. Beispielausgabe
  8. Kombination mit CVE-2026-27944
  9. Behebung
  10. Verantwortungsvolle Nutzung
  11. Referenzen
  12. Lizenz

Kurzfakten

Schwachstellenübersicht

nginx-ui stellt eine Model Context Protocol (MCP)-Schnittstelle bereit, die einem authentifizierten Bediener ermöglicht, destruktive Werkzeuge wie nginx-Konfigurationsänderungen, Neustartbefehle und Sicherungsoperationen über JSON-RPC auszuführen.

Der /mcp-Endpunkt wird durch die Middleware AuthRequired() geschützt, während der zugehörige Endpunkt /mcp_message, der die Werkzeugaufrufe tatsächlich empfängt, ohne die Middleware bereitgestellt wurde. Jeder Client, der die Benutzeroberfläche über das Netzwerk erreichen kann, kann:

  1. Einen Server-Sent-Events (SSE)-Stream zu /mcp öffnen und eine neue sessionID erhalten, ohne irgendeine Anmeldeinformation vorzulegen.
  2. Diese sessionID verwenden, um jedes registrierte MCP-Werkzeug durch einen POST an /mcp_message aufzurufen – weiterhin ohne Authentifizierung.

Der Angreifer erhält vollständige Kontrolle über den nginx-Prozess: Er kann Serverblöcke bearbeiten, um Datenverkehr umzuleiten, TLS-Private-Keys über Pfadlesevorgänge extrahieren, nginx neu laden oder stoppen und persistente Hintertüren implantieren.

Technische Tiefenanalyse

Ursache auf Code-Ebene

root@kitploit:~
// verwundbar (vor 2.3.4)
r.GET("/mcp",          AuthRequired(), mcpHandler)
r.POST("/mcp_message", mcpMessageHandler)    // fehlende Middleware

// behoben in 2.3.4
r.GET("/mcp",          AuthRequired(), mcpHandler)
r.POST("/mcp_message", AuthRequired(), mcpMessageHandler)

Ein einziger fehlender Funktionsaufruf bei der Routenregistrierung genügte, um die MCP-Schnittstelle in ein Gateway für nicht authentifizierte RCE zu verwandeln.

Angriffsskizze Ende-zu-Ende

root@kitploit:~
  Angreifer                              nginx-ui (<2.3.4)
     |   1) GET /mcp  (ohne Auth)              |
     | -------------------------------------->  |
     |   2) event: endpoint data: /mcp_message?sessionID=XYZ
     | <--------------------------------------  |
     |   3) POST /mcp_message?sessionID=XYZ     |
     |      body: JSON-RPC call_tool "nginx_reload" oder
     |             "edit_config {...}"          |
     | -------------------------------------->  |
     |   4) 200 OK; Werkzeug mit vollständigen Rechten ausgeführt
     | <--------------------------------------  |

Auswirkungsmatrix

Erkennungsstrategie

Dieses Repository vermeidet absichtlich jede destruktive Aktion. Der Detektor verwendet ausschließlich schreibgeschützte MCP-Methoden (tools/list). Die Logik:

root@kitploit:~
> Schritt 1  nginx-ui per Fingerabdruck identifizieren über
>         GET /               (HTML-Titel, JS-Bundles)
>         GET /api/settings   (JSON mit nginx-ui-Schlüsseln)
>         Version über Header-/Body-Regex extrahieren
> Schritt 2  SSE-Stream zu /mcp öffnen
>         Erste sessionID aus dem "endpoint"-Event parsen
> Schritt 3  POST /mcp_message?sessionID=<id>
>         Body: {"jsonrpc":"2.0","method":"tools/list","params":{}}
>         Kein Authorization-Header
> Schritt 4  Verwundbar, wenn Status 200 und Body ein Werkzeugmanifest enthält
>         Behoben, wenn Status 401 / 403 / 404
>         Andernfalls unklar

Warum dies sicher ist

Die JSON-RPC-Methode tools/list ist schreibgeschützt. Sie listet auf, welche Werkzeuge der MCP-Server kennt, ruft jedoch keines davon auf. Das Skript weigert sich, andere Methoden per POST zu senden, und erstellt niemals Payloads für destruktive Werkzeuge.

Installation

root@kitploit:~
git clone https://github.com/your-org/CVE-2026-33032-detector.git
cd CVE-2026-33032-detector
python3 --version      # 3.9 oder neuer
# Keine Drittanbieter-Pakete erforderlich.

Für die Nmap-NSE-Komponente kopieren Sie nginx-ui-mcpwn.nse in Ihr lokales Skriptverzeichnis und aktualisieren Sie die Skriptdatenbank:

root@kitploit:~
cp nginx-ui-mcpwn.nse /usr/share/nmap/scripts/
sudo nmap --script-updatedb

Verwendung

Python-Detektor

root@kitploit:~
# Einzelnes Ziel
python3 detect_nginx_ui_mcpwn.py --target https://nginx-ui.internal

# Massenscan aus Datei
python3 detect_nginx_ui_mcpwn.py --targets targets.txt --workers 20

# JSON (NDJSON)-Ausgabe für die Weiterleitung an jq
python3 detect_nginx_ui_mcpwn.py --target 10.0.0.5:9000 --json | jq .

Kommandozeilenreferenz:

Nmap NSE

root@kitploit:~
nmap -p 80,443,9000 --script nginx-ui-mcpwn 10.0.0.0/24
nmap -p 443 --script nginx-ui-mcpwn --script-args "nginx-ui-mcpwn.timeout=8" host.example.com

Beispielausgabe

Menschenlesbar

root@kitploit:~
 _   _       _                  _    _  ___   __  __  ____ ____
| \ | | __ _(_)_ __ __  __     | |  | ||_ _| |  \/  |/ ___|  _ \__      ___ __
|  \| |/ _` | | '_ \\ \/ /_____| |  | | | |  | |\/| | |   | |_) \ \ /\ / / '_ \
| |\  | (_| | | | | |>  <|_____| |__| | | |  | |  | | |___|  __/ \ V  V /| | | |
|_| \_|\__, |_|_| |_/_/\_\     |_____|_||___| |_|  |_|\____|_|     \_/\_/ |_| |_|
       |___/

  CVE-2026-33032 nginx-ui MCPwn-Detektor > nicht-destruktiv

[!] VERWUNDBAR https://nginx-ui.internal version=2.3.2 evidence=status=200; body_preview={"jsonrpc":"2.0","id":"...","result":{"tools":[{"name":"edit_config",...
[+] behoben https://nginx-ui-patched:9000 version=2.3.4 evidence=status=401; body_preview={"error":"unauthorized"}
[.] kein nginx-ui https://example.com evidence=fingerprint negativ

Zusammenfassung: 1/3 Ziele als verwundbar markiert

NDJSON

root@kitploit:~
{"target":"https://nginx-ui.internal","reachable":true,"is_nginx_ui":true,"mcp_endpoint_present":true,"session_id_obtained":true,"mcp_message_unauthenticated":true,"vulnerable":true,"nginx_ui_version":"2.3.2","evidence":"status=200; body_preview=...","error":null}

Nmap

root@kitploit:~
PORT     STATE SERVICE
9000/tcp open  http
| nginx-ui-mcpwn:
|   status: VERWUNDBAR
|   version: 2.3.2
|   session_id: abc123
|_  evidence: tools/list ohne Anmeldeinformationen akzeptiert

Kombination mit CVE-2026-27944

CVE-2026-27944 (der nicht authentifizierte /api/backup-Download, der den AES-Schlüssel im X-Backup-Security-Header preisgibt) lässt sich nahtlos mit MCPwn kombinieren: Das Sicherungsarchiv legt die node_secret offen, die verwendet werden kann, um sich auch nach der Behebung von 33032 bei /mcp zu authentifizieren – bis Betreiber das Geheimnis rotieren.

Der begleitende Detektor für 27944 befindet sich in einem Schwesterverzeichnis dieses Forschungsprojekts.

Behebung

  1. Aktualisieren Sie nginx-ui auf 2.3.4 oder neuer.
  2. Rotieren Sie node_secret, Admin-Passwort-Hashes und alle TLS-Private- Keys, die für den nginx-ui-Prozess zugänglich waren.
  3. Beschränken Sie die Exposition von nginx-ui auf ein Verwaltungs-VLAN, VPN oder einen Reverse-Proxy, der Authentifizierung erzwingt, bevor die Route /mcp_message erreichbar ist.
  4. Überprüfen Sie den nginx-Konfigurationsverlauf (Git oder Sicherungen) auf unerwartete upstream / proxy_pass / ssl_certificate-Direktiven, die im Expositionszeitraum eingeführt wurden.

Verantwortungsvolle Nutzung

Dieses Werkzeug wird veröffentlicht, um Verteidigern zu helfen, nicht gepatchte Instanzen in Umgebungen zu identifizieren, die sie testen dürfen. Verwenden Sie es nicht gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche Genehmigung zur Bewertung haben. Die Autoren lehnen jede Verantwortung für Missbrauch ab.

Referenzen

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-33032
  • Picus Security (MCPwn-Writeup): https://www.picussecurity.com/resource/blog/cve-2026-33032-mcpwn-how-a-missing-middleware-call-in-nginx-ui-hands-attackers-full-web-server-takeover
  • Security Affairs: https://securityaffairs.com/190841/hacking/cve-2026-33032-severe-nginx-ui-bug-grants-unauthenticated-server-access.html
  • BleepingComputer: https://www.bleepingcomputer.com/news/security/critical-nginx-ui-auth-bypass-flaw-now-actively-exploited-in-the-wild/
  • Upstream-Projekt: https://github.com/0xjacky/nginx-ui

Lizenz

Veröffentlicht unter der MIT-Lizenz. Siehe die jeweiligen Skript-Header für dateispezifische Hinweise.

Tool herunterladen
FeldWert
CVE-IDCVE-2026-33032
AliasMCPwn
CVSS 3.19.8 / Kritisch (AV:N / AC:L / PR:N / UI:N / S:U / C:H/I:H/A:H)
CWECWE-306 Fehlende Authentifizierung für kritische Funktion
Betroffenes Produktnginx-ui (github.com/0xjacky/nginx-ui)
Betroffene VersionenAlle Versionen vor 2.3.4
Behobene Version2.3.4
AusnutzungsstatusAktiv in freier Wildbahn (Picus Security, Recorded Future)
Shodan-Exposition~2.689 internetzugängliche Instanzen
Veröffentlichungsdatum2026-04-15
MCP-WerkzeugAuswirkung auf den nginx-Server
edit_configBeliebige Serverblöcke neu schreiben, Angreifer-Upstream einfügen
reload_nginxAngreiferkonfiguration ohne manuelles Eingreifen anwenden
stop_nginxDenial of Service
read_fileTLS-Private-Keys, Anmeldeinformationen aus gemounteten Pfaden exfiltrieren
create_certTLS-Zertifikate unter Kontrolle des Angreifers neu ausstellen
list_backups / downloadVollständige nginx-ui-Sicherung inklusive node_secret und Hashes abrufen
FlagZweck
--targetEinzelne URL oder Host[:Port]
--targetsDurch Zeilenumbrüche getrennte Zieldatei
--timeoutHTTP-Timeout, Standard 10 Sekunden
--workersParallele Worker für Massenscans, Standard 10
--verify-tlsTLS-Zertifikatsprüfung erzwingen (standardmäßig aus)
--jsonNDJSON ausgeben, ein Datensatz pro Ziel
--no-bannerASCII-Banner unterdrücken