事件经过
Cursor 3.0 之前的版本中,代理终端沙箱规范化目标路径以确认其保留在工作区内,然后才允许写入。working_directory 参数处理中的一个缺陷导致沙箱包含意图工作区之外的可写路径。通过将 working_directory 设置为敏感位置,代理可以写入任意文件 — 例如覆盖 cursorsandbox 辅助程序 — 实现未沙箱化的 RCE,无需进一步的用户交互。
影响分析
Cursor 是企业环境中最广泛采用的 AI 编码助手。代理模式下的沙箱逃逸意味着通过任何外部内容(问题跟踪器、网络搜索、仓库内容)的提示注入可能导致完整的主机 RCE。攻击者可以窃取源代码、凭证、SSH 密钥和云令牌,或在开发人员工作站上建立持久性 — 这是一个开发人员供应链攻击向量。
攻击途径
恶意代理(通过提示注入或恶意仓库内容触发)将 working_directory 设置为敏感路径,例如 ~/.cursor 或系统目录。沙箱授予工作目录的写入权限,因此代理可以覆盖 cursorsandbox 辅助二进制文件或其他特权文件,导致后续命令在沙箱外以完整用户权限执行。
受影响系统
Cursor AI 代码编辑器 < 3.0
缓解措施
升级到 Cursor 3.0。公告:https://github.com/cursor/cursor/security/advisories/GHSA-3p48-7v9f-v5cw