CVE-2026-35187 是 pyload-ng 中的一个服务器端请求伪造 (SSRF) 漏洞。parseurls API 函数在没有进行任何 URL 验证、协议限制或 IP 黑名单的情况下,通过 geturl(url) (pycurl) 获取任意 URL。经过身份验证的用户可以利用此漏洞读取本地文件,与内部服务交互,并枚举文件是否存在。此漏洞影响 pyload-ng ≤0.5.0b3.dev96 版本。目前没有官方补丁可用。
pyLoad 中的 CVE-2026-35187 允许具有 ADD 权限的经过身份验证的用户向内部网络资源和云元数据端点发送 HTTP/HTTPS 请求。 这是由于 src/pyload/core/api/init.py 中 parseurls 函数缺乏 URL 验证造成的。 geturl(url) (pycurl) 函数在没有协议限制或 IP 黑名单的情况下,在服务器端任意获取 URL。攻击者可以使用 file:// 协议读取本地文件,因为 pycurl 在服务器端读取文件。主要影响是可能泄露敏感信息、未经授权访问内部资源,以及如果与其他漏洞结合使用,则可能执行代码。
具有 ADD 权限的 pyLoad 中的经过身份验证的用户可以利用此漏洞。它不需要 root 权限或外部网络访问。攻击者需要能够操纵提供给 parse_urls 函数的 URL 输入。利用相对简单,因为它不需要高级技术技能。该漏洞的严重性因潜在的敏感信息泄露以及与其他系统中的其他漏洞结合使用时特权升级的可能性而加剧。
Organizations using pyLoad for download management, particularly those with internal networks accessible from the internet, are at risk. Shared hosting environments where multiple users have access to the pyLoad API are especially vulnerable, as a compromised user account could be used to exploit the SSRF vulnerability and access resources belonging to other users.
• python / server:
import requests
import re
def check_pyload_ssrf(url):
try:
response = requests.get(url, timeout=5)
if response.status_code == 200:
if re.search(r'file://', url) or re.search(r'gopher://', url) or re.search(r'dict://', url):
print(f"Potential SSRF vulnerability detected: {url}")
else:
print(f"URL accessed: {url}")
except requests.exceptions.RequestException as e:
print(f"Error accessing {url}: {e}")
# Example usage (replace with actual API endpoint)
api_endpoint = "http://your-pyload-server/api/add"
# Test with potentially malicious URLs
check_pyload_ssrf("file:///etc/passwd")
check_pyload_ssrf("gopher://127.0.0.1/some_internal_service")disclosure
漏洞利用状态
EPSS
0.03% (9% 百分位)
CISA SSVC
CVE-2026-35187 的解决方案是将 pyLoad 更新到 0.5.0b3.dev96 或更高版本。此版本通过在 parse_urls 函数中实现 URL 验证和协议限制来解决此漏洞。同时,作为临时措施,建议限制具有 ADD 权限的经过身份验证的用户访问内部网络和云元数据端点。 此外,审查和审计 pyLoad 中的用户权限以最大程度地降低被利用的风险至关重要。 监控服务器日志中与 URL 请求相关的可疑活动也可以帮助检测和响应潜在攻击。
升级到 0.5.0b3.dev96 或更高版本以缓解 SSRF 漏洞。此版本实现了 URL 验证和协议限制,以防止未经授权访问内部资源。
漏洞分析和关键警报直接发送到您的邮箱。
pyLoad 中需要 ADD 权限。
不需要,利用可以在内部网络上执行。
存储在本地文件和内部网络资源中的敏感信息。
限制具有 ADD 权限的用户访问内部网络,并监控服务器日志。
监控服务器日志中是否存在可疑的 URL 请求,特别是使用 file:// 协议的请求。
CVSS 向量
上传你的 requirements.txt 文件,立即知道是否受影响。