Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft HTTP request with spoofed Host header
-
DeliveryBypass local_check decorator validation
-
ExploitAccess localhost-restricted endpoints
-
ExecutionInject arbitrary downloads or write files
-
ImpactExecute JavaScript code
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Remote unauthenticated attacker exploiting pyLoad versions 0.4.20 through 0.5.0b3.dev96 by spoofing HTTP Host header to bypass local_check decorator protecting ClickNLoad feature localhost-restricted endpoints. No victim interaction required. |
| Impact | This vulnerability presents a high real-world risk despite the absence of a published CVSS vector. The attack vector is CVSS:AV:N (network-based, unauthenticated remote exploitation), attack complexity is low (trivial HTTP header spoofing requires no special knowledge or tools), and the impact is severe: arbitrary file writes, arbitrary download injection, and JavaScript execution. No privilege escalation is required—the attacker gains the full capabilities of the pyLoad process immediately. The vulnerability affects all pyLoad instances exposed to network access without additional access controls. While no explicit KEV (Known Exploited Vulnerability) status or public proof-of-concept is referenced in the provided intelligence, the straightforward nature of the bypass (HTTP header manipulation) means exploitation is highly automatable and likely actively weaponized post-disclosure. The patch availability (version 0.5.0b3.dev97 and later) and the fact that this is an open-source project with a public security advisory suggest this should be treated as an active threat. The real-world risk is amplified by the fact that pyLoad is frequently deployed in home network and small business environments where it may be directly exposed to untrusted networks. |
| Exploit ScenarioDerived | An attacker on the internet crafts an HTTP request to a publicly accessible pyLoad instance with the Host header set to localhost or 127.0.0.1, bypassing the local_check decorator. The attacker then calls the protected ClickNLoad endpoint to inject a malicious download URL, causing pyLoad to download and execute arbitrary content, or directly invokes file-write endpoints to plant malware in the storage directory. Because the vulnerability requires only HTTP header manipulation (AV:N/AC:L), the attack can be automated and launched at scale against internet-facing pyLoad instances without any authentication credentials or user interaction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Mar 24, 2026
pyLoad versions 0.4.20 through 0.5.0b3.dev96 contain an authentication bypass vulnerability in the ClickNLoad feature's local_check decorator that allows remote attackers to spoof the HTTP Host header and access localhost-restricted endpoints without authentication. This vulnerability enables unauthenticated remote users to inject arbitrary downloads, write files to the storage directory, and execute JavaScript code with the privileges of the pyLoad process. The vulnerability has been patched in version 0.5.0b3.dev97, and exploitation appears feasible given the straightforward nature of HTTP header manipulation.
RemediationAI
Immediately upgrade pyLoad to version 0.5.0b3.dev97 or later, which contains the patch that properly validates request origin instead of relying on the Host header. Users unable to upgrade immediately should implement network-level access controls by restricting access to the pyLoad service to trusted IP addresses only (using firewall rules or reverse proxy authentication), disabling the ClickNLoad feature if not required, and ensuring pyLoad runs with minimal privileges (dedicated unprivileged user account). Additionally, deploy pyLoad behind a reverse proxy (such as nginx or Apache) configured with strict Host header validation and request filtering to reject suspicious Host headers. For production deployments, consider running pyLoad in a sandboxed container with restricted filesystem access and network policies. Refer to the official security advisory at https://github.com/pyload/pyload/security/advisories/GHSA-g5j2-gxqh-x7pw for the latest patch information and version recommendations.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
pyLoad is a Python-based download manager that implements a ClickNLoad feature intended to handle download requests from web browsers. The vulnerability resides in the local_check decorator, which is designed to restrict access to certain endpoints by validating that requests originate from localhost (127.0.0.1 or ::1). However, this validation is performed by checking the HTTP Host header rather than the actual source IP address or the X-Forwarded-For chain in a security-conscious manner. CWE-639 (Authorization Bypass Through User-Controlled Key) describes the root cause: an attacker can trivially forge the Host header to localhost and bypass the intended local-only access control. The affected product is identified via CPE as cpe:2.3:a:pyload:pyload:*:*:*:*:*:*:*:*, with vulnerable versions spanning from 0.4.20 to 0.5.0b3.dev96. The vulnerability is a classic case of insufficient client-side validation being used as a security boundary instead of proper network-layer or cryptographic controls.
Know when Pyload gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:L/SC:N/SI:L/SA:N
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
Lifecycle Timeline
3DescriptionGitHub Advisory
pyLoad is a free and open-source download manager written in Python. From version 0.4.20 to before version 0.5.0b3.dev97, the local_check decorator in pyLoad's ClickNLoad feature can be bypassed by any remote attacker through HTTP Host header spoofing. This allows unauthenticated remote users to access localhost-restricted endpoints, enabling them to inject arbitrary downloads, write files to the storage directory, and execute JavaScript code. This issue has been patched in version 0.5.0b3.dev97.
Executive ViewAI
pyLoad versions 0.4.20 through 0.5.0b3.dev96 contain an authentication bypass in the ClickNLoad feature that allows unauthenticated remote attackers to spoof HTTP Host headers and access restricted endpoints, enabling arbitrary file writes, download injection, and code execution with pyLoad process privileges. Organizations running affected versions face immediate risk of unauthorized file system access and potential lateral movement through compromised pyLoad instances.
Apply vendor patch. If immediate patching is impossible, implement network-layer Host header validation and restrict pyLoad service access to trusted internal networks only until v0.5.0b3.dev97 or later can be deployed.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
Code Injection in GitHub repository pyload/pyload prior to 0.5.0b3.dev31. Rated critical severity (CVSS 9.8), this vulne
Excessive Attack Surface in GitHub repository pyload/pyload prior to 0.5.0b3.dev41. Rated critical severity (CVSS 9.8),
pyLoad 0.5.0 is vulnerable to Unrestricted File Upload. Rated high severity (CVSS 8.8), this vulnerability is remotely e
Improper Input Validation in GitHub repository pyload/pyload prior to 0.5.0b3.dev40. Rated high severity (CVSS 7.5), thi
Improper Certificate Validation in GitHub repository pyload/pyload prior to 0.5.0b3.dev44. Rated high severity (CVSS 7.4
pyload is an open-source Download Manager written in pure Python. Rated high severity (CVSS 7.2), this vulnerability is
Insufficient Session Expiration in GitHub repository pyload/pyload prior to 0.5.0b3.dev36. Rated medium severity (CVSS 6
An open redirection vulnerability exists in pyload/pyload version 0.5.0. Rated medium severity (CVSS 6.1), this vulnerab
pyLoad is an open-source Download Manager written in pure Python. Rated medium severity (CVSS 6.1), this vulnerability i
Cross-site Scripting (XSS) - Stored in GitHub repository pyload/pyload prior to 0.5.0b3.dev42. Rated medium severity (CV
Same technique Authentication Bypass
View allVendor StatusVendor
Debian
Bug #1001980| Release | Status | Fixed Version | Urgency |
|---|---|---|---|
| open | - | - |
EUVD-2026-15001
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB