THREATPORT/VULNERABILITY/CVE-2021-32618
LOW SEVERITY

CVE-2021-32618

Flask Security vulnerability

CVSS
3.1
EPSS
3.3%
EPSS pct
87th
Exploited
No known
The Python "Flask-Security-Too" package is used for adding security features to your Flask application. It is an is an independently maintained version of Flask-Security based on the 3.0.0 version of Flask-Security. All versions of Flask-Security-Too allow redirects after many successful views (e.g. /login) by honoring the ?next query param. There is code in FS to validate that the url specified in the next parameter is either relative OR has the same netloc (network location) as the requesting URL. This check utilizes Pythons urlsplit library. However many browsers are very lenient on the kind of URL they accept and 'fill in the blanks' when presented with a possibly incomplete URL. As a concrete example - setting http://login?next=\\\github.com will pass FS's relative URL check however many browsers will gladly convert this to http://github.com. Thus an attacker could send such a link to an unwitting user, using a legitimate site and have it redirect to whatever site they want. This is considered a low severity due to the fact that if Werkzeug is used (which is very common with Flask applications) as the WSGI layer, it by default ALWAYS ensures that the Location header is absolute - thus making this attack vector mute. It is possible for application writers to modify this default behavior by setting the 'autocorrect_location_header=False`.
Affected vendor
Flask Security Project
Affected product
Flask Security
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N
Weakness type (CWE)
Published
2021-05-17

Risk analysis

Based on its CVSS vector, this vulnerability is exploitable over the network, high attack complexity, requiring no privileges, user interaction. Successful exploitation leads to low impact to integrity.

Its EPSS score of 3.3% reflects a lower probability of exploitation activity in the wild over the next 30 days, placing it above 87% of all scored CVEs.

Check your external exposure to CVE-2021-32618

  • Confirm whether Flask Security Project Flask Security is running on any internet-facing host or subdomain.
  • Match discovered service fingerprints against the version affected by CVE-2021-32618.
  • Prioritise remediation if the asset is public, business-critical, or near authentication/payment flows.

How ThreatPort helps with CVE-2021-32618

ThreatPort's external attack surface scanner checks your internet-facing assets — agentlessly, from the outside in — for the exposed services and versions that CVE-2021-32618 affects, then prioritises the finding by real risk using CISA KEV and FIRST.org EPSS.

Run a free external exposure scan

Are you exposed to CVE-2021-32618?

Run an instant, non-intrusive external scan to check your attack surface for CVE-2021-32618.

Start free scan

No credit card. Agentless.