Cross-site Request Forgery (CSRF) Affecting flask-security-too package, versions [3.2.0, 3.4.5)
Do your applications use this vulnerable package?
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applications- Snyk ID SNYK-PYTHON-FLASKSECURITYTOO-1244523
- published 9 Apr 2021
- disclosed 8 Apr 2021
- credit Unknown
How to fix?
Upgrade Flask-Security-Too
to version 3.4.5 or higher.
Overview
Affected versions of this package are vulnerable to Cross-site Request Forgery (CSRF). When a user is setting up two-factor authentication using an authenticator app, a QRcode is generated and made available via a GET request to /tf-qrcode. Since GETs do not have any CSRF protection, it is possible a malicious 3rd party could access the QRcode and therefore gain access to two-factor authentication codes. Note that the /tf-qrcode endpoint is ONLY accessible while the user is initially setting up their device. Once setup is complete, there is no vulnerability.