IPBUF安全漏洞报告
English
CVE-2026-35464 CVSS 7.5 高危

CVE-2026-35464 pyLoad权限绕过导致远程代码执行漏洞

披露日期: 2026-04-07

漏洞信息

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

相关标签

RCEpyLoadPickle反序列化权限提升Python

漏洞概述

pyLoad是一款开源下载管理器。该漏洞源于对CVE-2026-33509修复不彻底。攻击者利用SETTINGS和ADD权限,可绕过`ADMIN_ONLY_OPTIONS`限制修改`storage_folder`配置,将下载重定向至Flask会话存储目录。通过植入恶意pickle载荷,攻击者可触发反序列化,从而在服务器上执行任意代码。

技术细节

该漏洞是因为pyLoad在修复CVE-2026-33509时,未将`storage_folder`选项加入`ADMIN_ONLY_OPTIONS`保护集合。攻击者仅需拥有SETTINGS和ADD权限,即可合法修改此配置。由于Flask session目录位于允许的路径范围外,攻击者可将下载路径重定向至该目录。利用Flask session文件名的可预测性,攻击者能够上传包含恶意Python pickle对象的文件。当任意用户携带对应Session Cookie发送HTTP请求时,Flask会反序列化该文件,触发`__reduce__`方法执行系统命令,获取服务器权限。

攻击链分析

STEP 1
1. 信息收集与认证
攻击者识别目标pyLoad实例,并获取一个具有SETTINGS和ADD权限的低权限账户。
STEP 2
2. 配置篡改
攻击者利用SETTINGS权限修改`storage_folder`配置,将其指向Flask session文件存储目录。
STEP 3
3. 载荷植入
攻击者利用ADD权限发起下载请求,将包含恶意代码的文件写入Flask session目录,并预测生成的session文件名。
STEP 4
4. 触发反序列化
攻击者发送携带特定Session Cookie的HTTP请求给服务器,Flask框架尝试加载并反序列化被篡改的session文件。
STEP 5
5. 代码执行
反序列化过程触发pickle载荷的`__reduce__`方法,在服务器上下文执行任意系统命令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import pickle import os # Malicious pickle payload to execute arbitrary command (e.g., whoami) class PoCPayload: def __reduce__(self): return (os.system, ('whoami',)) def generate_payload(): serialized = pickle.dumps(PoCPayload()) print(f"Generated Pickle Payload Length: {len(serialized)}") # In a real attack, this payload would be written to # the Flask session file path specified in storage_folder. return serialized if __name__ == "__main__": generate_payload()

影响范围

pyLoad (Commit c4cf995a 之前版本)

防御指南

临时缓解措施
建议立即应用官方修复补丁(commit c4cf995a)。若无法立即升级,请暂时撤销非管理员用户的SETTINGS权限,防止其修改存储路径,并密切监控系统配置变更和异常进程。

参考链接

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