/ data / vuln_en / pyload-ng / CVE-2024-32880.yaml
CVE-2024-32880.yaml
 1  info:
 2    name: pyload-ng
 3    cve: CVE-2024-32880
 4    summary: pyLoad allows upload to arbitrary folder leading to RCE
 5    details: |
 6      An authenticated user can change the download folder and upload a crafted template to the specified folder, leading to remote code execution. The vulnerability affects all versions, with earlier versions having different trigger conditions.
 7      
 8      Example version: 0.5
 9      File: src/pyload/webui/app/blueprints/app_blueprint.py
10      
11      ```python
12      @bp.route("/render/<path:filename>", endpoint="render")
13      def render(filename):
14          mimetype = mimetypes.guess_type(filename)[0] or "text/html"
15          data = render_template(filename)
16          return flask.Response(data, mimetype=mimetype)
17      ```
18      
19      Impact:
20      It is a RCE vulnerability and affects all versions. In earlier version 0.4.20, the trigger difference is the pyload installation folder path difference and the upload file must have the extension ".js".
21    cvss: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
22    severity: CRITICAL
23    security_advise: |
24      1. Upgrade to pyload-ng >= 0.5.1
25      2. Implement strict file upload validation to prevent uploading of malicious templates
26      3. Restrict access to the /settings page to authorized personnel only
27  rule: version < "0.5.1"
28  references:
29    - https://github.com/pyload/pyload/security/advisories/GHSA-3f7w-p8vr-4v5f
30    - https://nvd.nist.gov/vuln/detail/CVE-2024-32880
31    - https://github.com/pyload/pyload