Miggo Logo

CVE-2022-24880:
Potential Captcha Validate Bypass in flask-session-captcha

5.3

CVSS Score
3.1

Basic Information

EPSS Score
0.46832%
Published
4/26/2022
Updated
9/20/2024
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
flask-session-captchapip< 1.2.11.2.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from validate() returning None instead of False for empty inputs. This is explicitly shown in the advisory's impact description, patch commit tests (which added checks for validate(value=None) == False), and CWE-253 (Incorrect Check of Return Value). The function's return value handling is the root cause of the bypass vulnerability when improperly checked.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t *l*sk-s*ssion-**pt*** is * p**k*** w*i** *llows us*rs to *xt*n* *l*sk *y ***in* *n im*** **s** **pt*** stor** in * s*rv*r si** s*ssion. T** `**pt***.v*li**t*()` *un*tion woul* r*turn `Non*` i* p*ss** no v*lu* (*.*. *y su*mittin* * r*qu*st

Reasoning

T** vuln*r**ility st*ms *rom v*li**t*() r*turnin* Non* inst*** o* **ls* *or *mpty inputs. T*is is *xpli*itly s*own in t** **visory's imp**t **s*ription, p*t** *ommit t*sts (w*i** ***** ****ks *or v*li**t*(v*lu*=Non*) == **ls*), *n* *W*-*** (In*orr**t