Browse / CVEs / CVE-2021-32618
CVE-2021-32618· flask-security project / flask-security· CWE-601
Python Flask-Security - Open Redirect
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/1References
- 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
Use this check only on systems you are authorised to test. Where the data comes from