CVE-2025-53967CVE-2025-53967 是 Framelink Figma MCP Server(项目名为 Figma-Context-MCP)0.6.3 之前版本中存在的一个高危远程命令执行(Remote Code Execution, RCE)漏洞。该漏洞源于服务器在处理 HTTP POST 请求时,未对用户输入进行充分的过滤与转义,导致攻击者可以通过精心构造的请求参数注入操作系统级别的 Shell 元字符(如分号、管道符、反引号等)。这些恶意输入最终被传递给底层的 fetchWithRetry 函数中的 curl 命令执行,从而允许未经认证的攻击者在远程服务器上执行任意操作系统命令。
该漏洞的 CVSS 3.1 基础评分为 8.0 分,属于高危级别。其攻击向量为邻接网络(AV:A),意味着攻击者需要与目标服务器处于同一局域网或可访问的网络段中。该漏洞无需任何认证(PR:N)和用户交互(UI:N),一旦被利用,将导致高机密性影响(C:H)和高完整性影响(I:H),但不影响可用性(A:N)。由于该服务器通常用于桥接 AI 助手(如 Claude Desktop)与 Figma 设计工具之间的通信,其部署环境往往包含敏感的设计资源和访问令牌,因此漏洞的危害程度被进一步放大。
该漏洞由安全研究人员在审查 MCP(Model Context Protocol)服务器生态时发现,并已通过官方 GitHub 仓库发布修复版本 v0.6.3。Imperva 安全团队也对此漏洞进行了详细分析,强调了 MCP 服务器作为新兴 AI 基础设施所面临的安全挑战。
该漏洞的核心位于 Framelink Figma MCP Server 的 src/utils/fetch-with-retry.ts 文件中(第34行附近)的 fetchWithRetry 函数。该函数用于通过 curl 命令从 Figma API 获取资源,其实现方式存在严重的命令注入缺陷。
具体而言,当 MCP 服务器接收到 HTTP POST 请求时,请求中的某些参数(如 URL 或文件路径)被直接拼接到 curl 命令字符串中,而没有使用适当的转义或参数化方式传递给子进程。攻击者可以在这些参数中注入 Shell 元字符(如 `;`、`|`、`&&`、`$(...)` 等),从而实现命令注入。
利用方式如下:
1. 攻击者向 MCP 服务器的特定端点发送一个精心构造的 HTTP POST 请求。
2. 请求体中包含带有 Shell 元字符的恶意输入,这些输入被服务器拼接到 curl 命令中。
3. 当服务器执行 curl 命令时,Shell 解释器会解析这些元字符,执行攻击者注入的任意命令。
4. 注入的命令以 MCP 进程的权限执行,攻击者可以读取敏感文件、建立反向 Shell 或进行其他恶意操作。
由于该漏洞无需认证即可利用,且攻击复杂度较低(在邻接网络中),对部署了该 MCP 服务器的组织构成了严重的安全威胁。修复版本 v0.6.3 通过对用户输入进行严格的验证和 Shell 转义来解决此问题。