CVE-2024-47821: pyLoad remote code execution via flashgot API and scripts folder manipulation

CVE-2024-47821 · Severity: critical · CVSS 9.1 · Published 2024-10-28

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.

Technologies: pyLoad Next Generation, pyload-ng (PyPI). Vendors: pyLoad, PyPI.

Quick answers

Is CVE-2024-47821 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2024-47821 being exploited in the wild.
How severe is CVE-2024-47821?
Critical severity, with a CVSS score of 9.1, published 28 October 2024.
Which products and versions are affected?
pyload-ng (PyPI) < 0.5.0b3.dev87, ECOSYSTEM:introduced=0,fixed=0.5.0b3.dev87, ECOSYSTEM:introduced=0,last_affected=0.5.0.
Is there a fix for CVE-2024-47821?
Yes. pyload-ng (PyPI): upgrade to 0.5.0b3.dev87 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2024-47821 attacked?
It is attacked over the network, in a network appliance.
Am I affected by CVE-2024-47821?
Check whether you run pyLoad Next Generation or pyload-ng (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • pyload-ng (PyPI): upgrade to 0.5.0b3.dev87 or later
    pip install "pyload-ng>=0.5.0b3.dev87"

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

Identifiers

  • CVE-2024-47821
  • GHSA-w7hq-f2pj-c53g
  • PYSEC-2024-302

Timeline

  • 2024-10-25: disclosed
  • 2024-10-28: advisory

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.