CVE-2025-54136 – MCPoison Cursor IDE:通过MCP信任绕过的持久代码执行漏洞
背景
Cursor是一款面向开发者的AI集成开发环境,结合了本地代码编辑与大型语言模型(LLM)集成功能。其特色功能Model Context Protocol(MCP)允许通过插件式配置定义涉及远程API、LLM生成命令或本地命令执行的工作流。
研究动机
随着AI开发工具的普及,其自动化执行和协作特性带来了新的攻击面。我们重点评估了MCP执行信任模型在配置变更场景下的安全性,特别是在Git仓库共享的协作环境中。
研究发现
- Cursor启动时会自动扫描
.cursor/
目录并处理MCP配置文件 - MCP采用一次性批准机制:首次批准后,后续配置修改不会触发重新验证
- 攻击者可分阶段实施攻击:
- 提交无害的
.cursor/rules/mcp.json
文件(如echo命令) - 等待受害者批准
- 修改为恶意命令(如反向shell)
- 恶意命令将在仓库同步或IDE重启时静默执行
- 提交无害的
技术分析
MCP配置文件示例:
|
|
漏洞本质在于Cursor仅验证MCP名称(“test1”)的信任状态,而不检查命令或参数变更。攻击者可:
- 初始提交无害配置:
|
|
- 受害者批准后替换为恶意负载:
|
|
实际影响
- 通过共享仓库实现持久化远程代码执行
- 每次打开项目时自动触发恶意命令
- 可提升权限获取云凭证或源代码访问权
- 在团队环境中形成隐蔽后门
时间线
- 2025年7月16日:向Cursor团队披露
- 2025年7月29日:发布修复版本1.3 (现任何MCP修改都会触发重新批准)
防护建议
立即升级至Cursor最新版本。这是Check Point Research在AI开发平台中发现的首个漏洞系列,后续将发布更多相关研究成果。