←新闻详情

Cato AI Labs更新于 10月25日 21:08

Cato AI Labs 披露 Cursor IDE 两个零点击提示注入 RCE 漏洞

DuneSlide: Two Critical RCE vulnerabilities via Zero-Click Prompt Injection in Cursor IDE

AI 导读

Cato AI Labs 在 Cursor IDE 中发现两个可导致沙箱逃逸的远程代码执行漏洞,CVSS 评分均为 9.8,编号为 CVE-2026-50548 和 CVE-2026-50549。两个漏洞分别源于 run_terminal_cmd 的 working_directory 参数被盲目加入沙箱可写列表,以及符号链接规范化失败时的回退逻辑,攻击者可通过 MCP server 或网页搜索结果中的零点击提示注入覆盖 cursorsandbox 二进制,实现非沙箱 RCE。Cursor 团队已在 4 月 2 日发布的 Cursor 3.0 中修复这两个问题。

推荐理由

AI 评分 73

披露了 Cursor 沙箱逃逸的两个独立成因,以及从提示注入到系统接管的完整链路,可供评估编码智能体的攻击面。

主题

标签

正文 · AI 翻译

TL;DR

Cato AI Labs 在 Cursor IDE 中发现了两个严重的远程代码执行(RCE)漏洞。Cursor IDE 是广受欢迎的集成开发环境,据 Cursor 称,超过一半的《财富》500 强企业都在使用它。这两个 RCE 漏洞(我们将其称为“DuneSlide”)的 CVSS 评分均达到 9.8,均涉及突破 IDE 的沙箱环境,并被分配了 CVE 编号 CVE-2026-50548 和 CVE-2026-50549。

这两个漏洞共同表明,提示注入可以突破 LLM 层,并在传统上不被视为攻击面一部分的代码路径中暴露出经典漏洞。

利用其中任一严重漏洞,威胁行为者都可以覆盖关键系统文件(例如 cursorsandbox 二进制文件),从而将沙箱内命令转变为非沙箱 RCE,并导致宿主机和已连接的 SaaS 工作区完全沦陷。

执行摘要

发现严重漏洞:Cato AI Labs 在 Cursor IDE 中发现了两个不同的严重漏洞,可导致用户机器上发生非沙箱 RCE。

通过零点击提示注入实现任意文件写入:这些相互独立的架构缺陷使威胁行为者能够利用零点击提示注入,在开发者的本地系统上写入任意文件。

沙箱逃逸与 RCE:通过利用这些原语,威胁行为者可以突破终端沙箱,实现完整 RCE 和完全系统沦陷。

零点击攻击向量:该漏洞利用不需要任何预先的用户权限或特定的用户交互。当受害者发出一个无害的提示,而该提示无意中从不受信任的来源(例如 MCP 服务器或网页搜索结果)摄入了威胁行为者控制的载荷时,就会触发该漏洞。

技术概述

Cursor 2.x 默认在沙箱内自动执行终端命令,运行时不会提示用户批准。此功能旨在防止审批疲劳,同时防止威胁行为者轻易将简单的提示注入转化为 RCE。

漏洞 #1:工作目录参数操纵

第一个漏洞源于沙箱如何根据工具参数构建其安全边界。当执行沙箱内命令时,Cursor 会构建一个 seatbelt 策略,允许写入当前工作目录。

虽然默认行为是将命令执行的工作目录设置为项目根目录,但 working_directory 是 run_terminal_cmd 工具的可选参数。

该缺陷之所以存在,是因为当 LLM 为此参数分配非默认值时,该路径会被盲目添加到沙箱的允许写入列表中。

提示注入(通过无害的 MCP 服务器请求或受污染的网页结果提供)可以引导 LLM 将 working_directory 设置为项目范围之外、由威胁行为者控制的路径。

通过写入 cursorsandbox 可执行文件(/Applications/Cursor.app/Contents/Resources/app/resources/helpers/cursorsandbox),威胁行为者确保未来命令在不受沙箱限制的情况下运行,因此同一提示注入中的后续指令会导致非沙箱 RCE。

其他易受攻击的路径包括 ~/.zshrc、~/.zshenv 或 ~/Library/LaunchAgents。

传统上,远程攻击者无法控制沙箱操作的工​​作目录。然而,由于编码代理是一种独特的软件,在此漏洞中,提示注入成为通往该部分代码的通道。

漏洞 #2:符号链接规范化失败

第二个漏洞与第一个完全独立,存在于 Cursor 的文件路径解析边缘情况中。它允许威胁行为者利用符号链接绕过越界写入保护。

提示注入(通过无害的 MCP 服务器请求或受污染的网页结果)可以指示 Cursor Agent 在项目目录内创建一个符号链接,指向位于项目目录之外的文件。

默认情况下,Cursor Agent 会尝试规范化路径(解析符号链接)以确定其真实位置,并验证它们位于项目根目录内。

该漏洞之所以发生,是因为规范化逻辑包含一个危险的 fallback:如果规范化失败(例如路径不存在,或路径的某个目录缺少读取权限),Cursor 会回退到使用项目目录内的原始符号链接路径。

威胁行为者随后可以创建一个只写符号链接,从而迫使 Cursor 假定解析后的路径是符号链接路径,而不是目标路径。这使其无法检测到最终目标越界,从而允许威胁行为者再次链接到 cursorsandbox 可执行文件(/Applications/Cursor.app/Contents/Resources/app/resources/helpers/cursorsandbox)。

然后,威胁行为者使用 Write 工具,通过该符号链接覆盖此外部文件,使沙箱在作为同一提示注入一部分执行的后续命令中失效,从而导致 RCE。

在大多数经典软件中,外部攻击者无法远程在受害者机器上创建符号链接。在此实例中,提示注入将 Cursor 代理变成了执行非平凡操作的桥头堡,最终导致完全系统沦陷。

负责任披露

Cato AI Labs 坚信应保障 AI 生态系统的安全,并针对 DuneSlide 遵循了标准的负责任披露流程:

2 月 19 日:漏洞被报告给 Cursor 团队。

2 月 23 日:漏洞被驳回。理由是:Cursor 的威胁模型未考虑 MCP 服务器被滥用的情况,即使 MCP 服务器本身是标准、无害的集成,例如官方 Linear.app 工作区。

2 月 26 日:鉴于问题的严重性,两个问题均直接升级提交给 Cursor 安全团队。安全团队重新开启了这些问题,并开始对报告的漏洞进行分诊。

4 月 1 日:Cursor 团队确认工作目录漏洞的修复将随 Cursor 3.0 客户端(于 4 月 2 日发布)一同交付。

6 月 1 日:Cursor 团队确认链接目标漏洞的修复也已随 Cursor 3.0 一同交付。

6 月 5 日:分配了 CVE-2026-50548 和 CVE-2026-50549 编号,确认了这些漏洞的严重级别为严重。

结论

DuneSlide 凸显了为 LLM 提供自主命令执行环境所特有的架构性危险。尽管沙箱是必要的防御措施,但参数验证和路径解析边缘情况中的明显缺陷证明,零点击提示注入可以巧妙地利用孤立的逻辑缺陷,实现完整的系统接管。如果这些问题只是通过提示注入实施入侵的个别案例,我们或许会将它们归因于特定的漏洞。然而,Cato AI Labs 正在负责任地披露所有流行编码代理中的漏洞,这表明需要一种更系统化的防护方法。敬请关注。

文章《DuneSlide:Cursor IDE 中通过零点击提示注入实现的两个严重 RCE 漏洞》首次发表于 Cato Networks。

来源

Cato AI Labs