HexBrain

Browse / CVEs / CVE-2024-21644

CVE-2024-21644· pyload / pyload· CWE-284

pyLoad Flask Config - Access Control

highseverity
7.5CVSS score
42.4%likelihood of exploitation, next 30 days
99%of all CVEs are less likely
Readycheck to confirm it

pyLoad is the free and open-source Download Manager written in pure Python. Any unauthenticated user can browse to a specific URL to expose the Flask config, including the `SECRET_KEY` variable. This issue has been patched in version 0.5.0b3.dev77.

Impact

Unauthenticated attackers can access the Flask SECRET_KEY and other sensitive configuration variables, potentially enabling session hijacking or other attacks.

Fix

Update pyLoad to version 0.5.0b3.dev77 or later.

How to confirm it

Send: GET {{BaseURL}}/render/info.html
Positive when: contains "'SECRET_KEY':" and "'pyload_session'" AND status 200

Run it with nuclei: nuclei -id CVE-2024-21644 -u <target>

The full check
id: CVE-2024-21644

info:
  name: pyLoad Flask Config - Access Control
  author: West-wise
  severity: high
  description: |
    pyLoad is the free and open-source Download Manager written in pure Python. Any unauthenticated user can browse to a specific URL to expose the Flask config, including the `SECRET_KEY` variable. This issue has been patched in version 0.5.0b3.dev77.
  impact: |
    Unauthenticated attackers can access the Flask SECRET_KEY and other sensitive configuration variables, potentially enabling session hijacking or other attacks.
  remediation: |
    Update pyLoad to version 0.5.0b3.dev77 or later.
  reference:
    - https://github.com/advisories/GHSA-mqpq-2p68-46fv
    - https://github.com/fkie-cad/nvd-json-data-feeds
    - https://nvd.nist.gov/vuln/detail/CVE-2024-21644
    - https://github.com/ltranquility/CVE-2024-21644-Poc
    - https://github.com/nomi-sec/PoC-in-GitHub
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2024-21644
    cwe-id: CWE-284
    epss-score: 0.42443
    epss-percentile: 0.98715
    cpe: cpe:2.3:a:pyload:pyload:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: pyload
    product: pyload
    shodan-query:
      - html:"pyload"
      - http.title:"login - pyload"
      - http.html:"pyload"
      - http.title:"pyload"
    fofa-query:
      - title="login - pyload"
      - body="pyload"
      - title="pyload"
    google-query:
      - intitle:"login - pyload"
      - intitle:"pyload"
    zoomeye-query: app="pyLoad"
  tags: cve,cve2024,python,pip,pyload,access-control,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/render/info.html"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "&#39;SECRET_KEY&#39;:"
          - "&#39;pyload_session&#39;"
        condition: and

      - type: status
        status:
          - 200

References

Use this check only on systems you are authorised to test. Where the data comes from