pyLoad is a free and open-source download manager written in Python. Prior to version 0.5.0b3.dev97, PyLoad's download engine accepts arbitrary URLs without validation, enabling Server-Side Request Forgery (SSRF) attacks. An authenticated attacker can exploit this to access internal network services and exfiltrate cloud provider metadata. On DigitalOcean droplets, this exposes sensitive infrastructure data including droplet ID, network configuration, region, authentication keys, and SSH keys configured in user-data/cloud-init. Version 0.5.0b3.dev97 contains a patch.
The PyLoad download engine does not verify the URLs passed to it before processing, which is a classic case of CWE-918 (SSRF). An attacker with access to an account in the application can provide a URL pointing to internal resources — for example, cloud instance metadata servers. In the case of DigitalOcean environments, this allows querying cloud metadata endpoints and retrieving sensitive infrastructure data, such as droplet identifier, network configuration, region, authentication keys, and SSH keys defined in user-data/cloud-init.
An attacker can gain access to internal network services unavailable from the outside and steal sensitive infrastructure data from cloud provider metadata services, including SSH keys and credentials, which may lead to further compromise of the environment.
PyLoad should be updated to version 0.5.0b3.dev97 or newer, which contains a patch eliminating the vulnerability. The patch is available in the project repository on GitHub (commit b76b6d4ee5e32d2118d26afdee1d0a9e57d4bfe8). Additionally, it is recommended to restrict access to the PyLoad interface only to trusted users and to consider network segmentation blocking instance access to cloud metadata endpoints (e.g., through network-level firewall).
PyLoad in all versions preceding 0.5.0b3.dev97
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XPyload
APPPyload0.5.0
Related vulnerabilities
RCE w pyLoad przez zapis pliku wykonywalnego do folderu /scripts
pyload: RCE przez upload złośliwego szablonu przez uwierzytelnionego użytkownika
Nadmierna powierzchnia ataku w pyload przed wersją 0.5.0b3.dev41
Code Injection w pyLoad umożliwiający zdalne wykonanie kodu Python
pyLoad is a free and open-source download manager written in Python. Versions up to and including 0.5.0b3.dev9...