此漏洞的存在是因为 MCPJam Inspector 暴露了用于调试和开发的内部 API 端点。这些端点接受用户控制的输入,并将其直接传递给系统级进程执行,而无需进行适当的验证或清理。 通过向易受攻击的端点(/api/mcp/connect)发送精心构造的请求,攻击者可以控制 serverConfig 对象,并指定要在主机上执行的任意命令。 该应用程序尝试根据用户输入生成一个进程,并将其视为有效的 MCP 服务器。然而,由于缺乏输入验证,此行为可能被滥用,以执行任意系统命令。
该漏洞利用以下逻辑:
commandargs
这些值用于在服务器上生成一个进程由于应用程序期望一个长期运行的 MCP 进程,短时命令可能会导致连接错误——但命令仍然会被执行。
python3 exploit.py <目标> '<命令>'
示例:
python3 exploit.py domain.com "sleep 4"
这是一个盲式 RCE: