Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Impact | The CVSS 3.1 score of 5.3 reflects a medium-severity vulnerability with network attack vector, high complexity, no privilege requirement, and user interaction (requires user to extract a tar file). The EPSS exploitation probability and KEV status are not provided; however, the attack vector is network-accessible and the user-interaction barrier is minimal in typical download manager workflows where users routinely extract archives. The technical impact is high integrity (arbitrary file write), though no confidentiality or availability impact is specified. The CVSS AC:H (High Complexity) rating suggests the attack requires specific tar archive crafting, which is technically feasible but not trivial. Without KEV confirmation or POC publication status in the input data, this should be treated as a real integrity risk to pyLoad users rather than a theoretical issue-any user extracting a malicious tar file from an untrusted source risks system compromise. The fact that a prior similar fix (CVE-2026-32808) exists in the codebase but was incompletely applied elevates concern about ongoing maintenance rigor. |
| Exploit ScenarioDerived | An attacker crafts a malicious tar archive containing files with carefully constructed paths (e.g., using '../' sequences designed to exploit character-level prefix matching) that bypass the path traversal check. When a pyLoad user downloads this archive and attempts to extract it, the _safe_extractall() function incorrectly validates the paths as safe, and files are written outside the intended extraction directory-potentially overwriting configuration files, plugins, or system executables. The high complexity rating reflects the need for precise tar structure crafting, but the requirement for user interaction (extracting the archive) is a standard operation in a download manager context. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 07, 2026
Path traversal in pyLoad's tar extraction allows writing files outside the intended directory via specially crafted archives. The vulnerability stems from incomplete remediation of a prior path traversal fix (CVE-2026-32808), where the _safe_extractall() function continues to use the insecure os.path.commonprefix() instead of the correct os.path.commonpath(). Unauthenticated remote attackers can exploit this via a malicious tar file when a user extracts it, achieving arbitrary file write on the system. The vulnerability affects pyLoad versions prior to 0.5.0b3.dev97 and is fixed in that release.
RemediationAI
The primary fix is to upgrade pyLoad to version 0.5.0b3.dev97 or later, which corrects the _safe_extractall() function to use os.path.commonpath() instead of os.path.commonprefix(). Users unable to immediately upgrade should avoid extracting tar archives from untrusted sources until patching is possible. No workarounds that maintain full functionality are documented; the vulnerability is architectural to the extraction logic. Full details and security advisory information are available at https://github.com/pyload/pyload/security/advisories/GHSA-mvwx-582f-56r7.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in pypi, 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 includes tar archive extraction functionality. The vulnerability resides in src/pyload/plugins/extractors/UnTar.py's _safe_extractall() function, which attempts to prevent directory traversal attacks using path validation. However, os.path.commonprefix() performs character-level string comparison rather than true path-level analysis-for example, '/extracted/dir' and '/extracted/directory' share the character-level prefix '/extracted/dir', allowing traversal checks to be bypassed with specially crafted relative paths like '../../../'. The correct function os.path.commonpath() was introduced in commit 5f4f0fa to fix the related CVE-2026-32808, but this fix was never applied to _safe_extractall(), representing an incomplete vulnerability remediation. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory), a classic path traversal vulnerability.
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
AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
Lifecycle Timeline
2DescriptionGitHub Advisory
pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev97, the _safe_extractall() function in src/pyload/plugins/extractors/UnTar.py uses os.path.commonprefix() for its path traversal check, which performs character-level string comparison rather than path-level comparison. This allows a specially crafted tar archive to write files outside the intended extraction directory. The correct function os.path.commonpath() was added to the codebase in the CVE-2026-32808 fix (commit 5f4f0fa) but was never applied to _safe_extractall(), making this an incomplete fix. This vulnerability is fixed in 0.5.0b3.dev97.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
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
EUVD-2026-19738
GHSA-mvwx-582f-56r7
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB