Skip to content

Python Flask-Security - Open Redirect

ID: CVE-2021-32618

Severity: medium

Author: 0x_Akoko

Tags: cve2021,cve,redirect,flask,flask-security_project

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.

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.00113
epss-percentile: 0.44665
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
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: 4a0a00473045022100e7ed447e0192215ce3fd7db5e8d305a08ab9be5005f0d3bccdedab9a56ec2f9e022026da10350f9fb44a36f82f9f3a4853bff64b836967bbdac5a503faec399126e7:922c64590222798bb761d5b6d8e72950

This template is used to detect vulnerabilities in web applications. It can be used with the Nuclei tool to scan for specific patterns or behaviors.

Terminal window
$ nuclei -u "URL" -t "http/cves/2021/CVE-2021-32618.yaml"

View on Github