Miggo Logo

CVE-2023-49438:
Open redirect vulnerability in Flask-Security-Too

6.1

CVSS Score
3.1

Basic Information

EPSS Score
0.42718%
Published
12/27/2023
Updated
9/20/2024
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
Flask-Security-Toopip< 5.3.35.3.3

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from insufficient validation of the 'next' parameter in redirect logic. Key points:

  1. The core validation function (validate_redirect_url) failed to account for browser slash normalization patterns like '/' and '/'.
  2. The login/register view handlers directly use this validation when processing redirects.
  3. Werkzeug >=2.1.0's default behavior (disabling autocorrect_location_header) exacerbated the issue by allowing relative redirects.
  4. The patch involved strengthening the regex validation, confirming the vulnerability was in the redirect validation workflow.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

*n op*n r**ir**t vuln*r**ility in t** pyt*on p**k*** *l*sk-S**urity-Too <=*.*.* *llows *tt**k*rs to r**ir**t unsusp**tin* us*rs to m*li*ious sit*s vi* * *r**t** URL *y **usin* t** ?n*xt p*r*m*t*r on t** /lo*in *n* /r**ist*r rout*s. *l*sk-S**urity-To

Reasoning

T** vuln*r**ility st*ms *rom insu**i*i*nt v*li**tion o* t** 'n*xt' p*r*m*t*r in r**ir**t lo*i*. K*y points: *. T** *or* v*li**tion *un*tion (v*li**t*_r**ir**t_url) **il** to ***ount *or *rows*r sl*s* norm*liz*tion p*tt*rns lik* '/\' *n* '\/'. *. T**