Executive brief
pyLoad, a popular open-source download manager, is vulnerable to a security flaw that allows an attacker to take full control of the server. By manipulating download settings and using a specific internal interface, an attacker can upload and execute malicious scripts on the host system. This could lead to total data loss, unauthorized access to the corporate network, and complete system compromise.
Technical details
A remote code execution (RCE) vulnerability exists in pyLoad due to improper validation in the /flashgot API and insecure handling of the scripts directory. An attacker with administrative privileges can change the download directory to the internal '/.pyload/scripts' folder and enable executable permissions for downloads. By bypassing local-only access checks through Host and Referer header spoofing, the attacker can use the /flashgot API to download a malicious script into a trigger folder (e.g., 'download_finished'). The script is subsequently executed by the system when a download event occurs. This issue is tracked as CVE-2024-47821 and is fixed in version 0.5.0b3.dev87.
Affected products
- pyLoad pyload-ng < 0.5.0b3.dev87
Timeline
- 2024-10-25: disclosed
- 2024-10-28: advisory
References
- https://api.github.com/users/anuraagbaishya
- https://github.com/anuraagbaishya
- https://api.github.com/users/anuraagbaishya/gists%7B/gist_id%7D
- https://api.github.com/users/anuraagbaishya/repos
- https://avatars.githubusercontent.com/u/9999954?v=4
- https://api.github.com/users/anuraagbaishya/events%7B/privacy%7D