漏洞概述 该漏洞存在于 工具中,属于命令注入 (Command Injection) 漏洞。 原因: 服务器直接使用 执行用户提供的或LLM生成的Stata do-file,且未对do-file内容进行任何验证或清理。 机制: Stata支持shell转义指令(如 , , )。在macOS和Linux版Stata中,这些行会被解释为真实的OS命令。 后果: 攻击者可以在do-file中嵌入恶意OS命令,从而在运行MCP Server的主机上实现远程代码执行 (RCE)。 影响范围 受影响组件: , (内部调用 )。 环境: OS: Windows 10 (64-bit) Stata Version: Stata 17 MP (64-bit) Package Version: 1.12.1 利用链: Prompt -> -> / -> -> / -> 。 修复方案 1. 避免使用 shell=True: 避免在启动Stata时使用 。 2. 清理输入: 清理或拒绝包含shell转义指令(如 , )的do-file内容。 3. 路径验证: 验证do-file路径,确保它们仅指向允许的目录。 4. 禁用Shell Escape: 考虑添加保护机制,在运行前显式禁用Stata shell escape语法。 POC/利用代码 1. 复现步骤中的工具调用示例: 2. 恶意do-file内容示例: (注:在macOS/Linux Stata中, , , 等指令会被解释为OS命令执行)*