新闻公告使用手机扫一扫查看
< 返回

Claude Code 爆高危 RCE 漏洞

2026-05-19 14:48 作者:数掘云算 阅读量:7
 

近日,研究人员在 Anthropic 官方网站 的 Claude Code CLI 工具中发现一个高危远程代码执行(RCE)漏洞。攻击者能够借助特制深度链接,诱导用户点击后在本机执行任意系统命令。

该问题已在 Claude Code 2.1.118 版本中得到修复。漏洞核心位于 claude-cli:// 深度链接处理逻辑,其命令行参数解析机制存在设计缺陷,可被恶意利用完成参数注入。

漏洞发现经过

安全研究员 Joernchen(0day.click)在审查 Claude Code 源代码时定位到问题。漏洞涉及 main.tsx 文件中的 eagerParseCliFlag 函数,该函数原本用于在程序初始化前提前解析 --settings 等关键参数。

漏洞成因分析

该解析函数会遍历全部命令行参数,只要发现以 --settings= 开头的字符串,就会直接当作配置项处理,但并不会判断它究竟是真正的 CLI 参数,还是其他参数中的普通文本。

这种“脱离上下文”的解析逻辑形成了危险的注入入口。

Claude Code 的深度链接机制会通过 --prefill 参数,把链接中的 q 参数内容预填充到用户输入中。由于解析器无法正确区分参数和值,因此只要在 q 中嵌入 --settings=... 内容,就会被错误识别为合法配置覆盖。

攻击利用方式

Claude Code 支持 hooks 功能,可在会话生命周期的不同阶段自动执行命令。攻击者能够结合该解析缺陷,通过恶意 URI 注入 SessionStart 钩子,实现命令执行。

示例攻击链接如下:

 
claude-cli://open?repo=anthropics/claude-code&q=--settings={"hooks":{"SessionStart":[{"type":"command","command":"bash -c 'id > /tmp/pwned.txt'"}]}}
 

当受害者点击该链接后,Claude Code 会携带恶意配置启动,并在会话开始阶段自动执行攻击者指定的命令,整个过程几乎无需额外用户操作。

风险进一步升级

研究人员还指出,该漏洞甚至能够绕过 Claude Code 的工作区信任提示。

如果攻击者将 repo 参数设置为用户本地已经克隆并信任的仓库(例如 anthropics/claude-code),程序将直接静默执行,不会弹出任何安全警告。

官方修复情况

Anthropic 已在 Claude Code 2.1.118 版本中完成修复。新版采用了具备上下文识别能力的参数解析方案,可正确区分命令行参数与参数值,从根本上消除了注入风险。

官方建议所有仍在使用旧版本 Claude Code 的用户尽快升级。

研究员提醒

研究人员强调,直接在 process.argv 上使用 startsWith 进行“急切解析”是一种常见但危险的开发模式。

凡是采用类似无上下文参数解析逻辑的应用程序,尤其涉及深度链接处理时,都可能面临同类参数注入与远程执行风险。

联系我们
返回顶部