系统:运行中
← 返回所有攻击
AGENTS CRITICAL NEW

Cursor 白名单绕过:shell 内建命令污染环境实现 RCE

CVE-2026-22708 允许提示注入利用 export、typeset 等受信任的 shell 内建命令污染 Cursor 的环境变量,把一条已批准的 git 或 python 命令变成远程代码执行。已在 2.3 版本修复。

2026-06-11 // 5 min affects: cursor

这是什么?

CVE-2026-22708 是 Cursor AI 代码编辑器中的一个白名单绕过漏洞,由 Pillar Security 研究员 Dan Lisichkin 在《The Agent Security Paradox》中披露(2026 年 1 月 14 日发表;2025 年 8 月 11 日上报给 Cursor)。NVD 为其记录了两个评分:CVSS 3.1 为 9.8(严重),CVSS 4.0 为 7.2(高危)。该漏洞已在 Cursor 2.3 中修复。

技术原理很简单:当 Cursor 智能体以 Auto-Run 模式配合白名单运行时,少数几个 shell 内建命令 —— exportunsetsettypesetdeclare —— 会在从不出现于白名单、也不弹出批准请求的情况下执行。控制智能体指令的攻击者(直接控制,或通过智能体读取的恶意文件、网页间接控制)利用这些内建命令悄然污染环境变量,然后等待一条受信任的命令执行。2026 年 6 月 11 日,OWASP《State of Agentic AI Security》报告将其列入如今针对生产环境编码工具的提示注入 CVE 之中,使该话题重新受到关注。

工作原理

Cursor 的白名单在执行前校验外部二进制文件。shell 内建命令并非独立的二进制文件——它们在 shell 会话内部运行——因此完全绕过了服务器端的命令评估器。整个缺口就在于此:白名单检查的是执行了什么,从不检查执行所处的环境上下文

一旦攻击者能够随意设置环境变量,就会盯上那些会改变普通工具行为的变量。一条常见链路滥用 gitman 所调用的分页器:

# 静默执行 —— 一个内建命令,从不请求批准:
export PAGER="[已删除:命令]"

# 看似无害,通常已在白名单中 —— 触发载荷:
git branch

用户以为 git branch 无害而批准它;被污染的 PAGER 却执行了攻击者的代码,而不是显示输出。Pillar 还演示了一种完全”零点击”的变体:利用 typeset 与 zsh 参数展开标志,强制对嵌入字符串求值,完全无需批准;以及一条更长的链路 PYTHONWARNINGSBROWSERPERL5OPT,在下一次运行任何 Python 脚本时获得代码执行。此处省略真实载荷;重点在于机制,而非可用的利用字符串。

Pillar 由此得出的深层教训是信任模型的转变。通过操纵环境变量实现 RCE 并非新事(Elttam 早在 2020 年就有记录),但过去需要本地访问以及手动的多步骤准备。一个会遵循不可信内容指令的智能体,把所有这些前提条件压缩为一次提示注入,并以开发者的权限远程执行。

为什么重要

AI 编码助手如今是提示注入攻击最集中的产品之一,因为一次成功的注入会在开发者的机器上运行,可访问源代码、SSH 密钥、云凭证和本地网络。CVE-2026-22708 表明,大多数团队所依赖的”人在回路”批准提示是可以被诱骗说谎的:可见且已批准的命令是无害的,而恶意准备早已通过从不显示的内建命令隐形完成。任何只管控命令却不管控执行上下文的智能体 IDE,都存在这一类弱点,而不仅是 Cursor。

防御

将 Cursor 升级到 2.3 或更高版本,其服务器端解析器现在会要求对任何无法分类的命令进行显式批准。除打补丁外:

  • 不要把白名单当作安全边界。 Cursor 自己的文档说明白名单只是尽力而为,绕过是可能的;绝不要启用 “Run Everything” 模式。保持白名单简短,避免自动批准 gitpythonnpm 等宽泛工具。
  • 将 shell 内建命令视为安全敏感操作。 环境变量更改(exporttypesetdeclareunset)应与命令执行同等审视,而非隐式放行。
  • 优先隔离而非净化。 在沙箱或一次性容器中运行智能体,使代码执行和环境变量更改无法触及真实主机、SSH 密钥或凭证。Pillar 主张——且本次攻击佐证了这一点——对于确实需要执行代码的智能体,执行隔离而非白名单才是持久的控制手段。
  • 在智能体会话之间重置环境,防止被污染的变量延续到后续受信任的操作中。
  • 限制智能体读取的内容。 间接注入通过仓库文件、文档和网页到达;限制并复核不可信输入可缩小触发面。

状态

项目详情
标识符CVE-2026-22708
受影响2.3 之前的 Cursor(Auto-Run + 白名单)
修复版本Cursor 2.3
CVSS(NVD)9.8 严重(v3.1)/ 7.2 高危(v4.0)
上报时间2025 年 8 月 11 日
公开披露2026 年 1 月 14 日(Pillar Security)
利用前提对智能体的提示注入(直接或间接)

Sources