Impact
pyLoad, a Python‑based download manager, fails to filter special tar member types before delegating extraction to the standard library. A crafted tar archive that contains character devices, block devices, or FIFOs can be uploaded by any user with ADD or STATUS permissions. When pyLoad performs the extraction, the underlying tarfile module (on Python 3.9‑3.13) uses a fully trusted filter that allows creation of such device nodes, leading to the host operating system creating device files or FIFO objects according to the archive contents.
Affected Systems
The flaw exists in all pyLoad releases prior to version 0.5.0b3.dev102. Users running pyLoad under a privileged account—such as the root‑based official Docker deployment—or any environment that permits device creation are exposed to raw device access. Even unprivileged deployments can create FIFOs, which may cause service hangs or inter‑process communication confusion.
Risk and Exploitability
The CVSS score of 9.4 underscores the severity, while the EPSS score is not yet available and the vulnerability is not listed in the CISA KEV catalog. Attackers need only craft a malicious tar file and trigger the extraction through the normal upload workflow; no network exposure is required. If the execution environment allows device creation, an attacker can expose physical devices or mount points, enabling remote code execution or data exfiltration. Lack of mitigation on non‑root users still poses a denial‑of‑service risk. The combination of a high severity score and the local nature of the exploit makes the risk significant for installations running pyLoad with elevated privileges or with insufficient user control over uploads.
OpenCVE Enrichment
Github GHSA