HexBrain

Browse / CVEs / CVE-2021-32618

CVE-2021-32618· flask-security project / flask-security· CWE-601

Python Flask-Security - Open Redirect

mediumseverity
6.1CVSS score
2.8%likelihood of exploitation, next 30 days
87%of all CVEs are less likely
Readycheck to confirm it

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.

Fix

Upgrade to the latest version of Python Flask-Security library to fix the open redirect vulnerability.

How to confirm it

Send: GET {{BaseURL}}/login?next=\\\interact.sh
Positive when: matches in header /(?m)^(?:Location\s*?:\s*?)(?:https?:\/\/|\/\/|\/\\\\|\/\\)(?:[a-zA-Z0-9\-_\.@]*…/

Run it with nuclei: nuclei -id CVE-2021-32618 -u <target>. This check is not marked as verified by its authors.

The full check
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.02838
    epss-percentile: 0.86768
    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

References

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