- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
### Impact 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.
### Patches This is fixed in the upcoming 4.0.0 release.
### Workarounds You can provide your own URL for fetching the QRcode by defining SECURITY_TWO_FACTOR_QRCODE_URL and providing your own implementation (that presumably required a POST with CSRF protection). This would require changing the two-factor setup template as well.
### References None.
### For more information If you have any questions or comments about this advisory: * Read this pull request: #423
Patch / fix
- pypi flask-security-too 3.4.5
Is GHSA-fxq4-r6mr-9x64 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerAffected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | flask-security-too | >=3.2.0, <3.4.5 |
3.4.5 |
Classification
- Weakness
-
- CWE-352 Cross-Site Request Forgery
References
Sources
- GitHub Advisory GHSA-fxq4-r6mr-9x64
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.