事件经过
发布于 2026-08-20(CVSS 未评级),Neo.mjs 的 MCP 文件系统服务器中的此命令注入漏洞允许调用方控制的路径值被不安全地插值到由服务器的语法检查和 Playwright 测试工具操作执行的 shell 命令中。
影响分析
这是另一个重复出现的 MCP 工具表面模式的实例——一个可由 AI 代理调用的工具操作,它执行 shell 命令时输入的清理不充分——将原本应该是受限范围的文件/测试检查工具变成了任何 MCP 客户端或注入的提示内容可以到达的任意 OS 命令执行。
攻击途径
FileSystemService.mjs 中的 checkSyntax() 和 runPlaywrightTest() 函数不安全地将调用方控制的 absolutePath 值直接插值到 shell 命令中,当 MCP 客户端(或受提示注入的代理)提供精心构造的路径时,可以实现任意 OS 命令执行。
受影响系统
Neo.mjs ai/mcp/server/file-system MCP 服务器(FileSystemService.mjs)
缓解措施
应用上游修复(提交 5acc564ea1b278bca5fab1f8f397a6ba9b849d75);避免对调用方提供的路径进行 shell 插值——改用参数化的子进程调用。