CSRF Vuln can expose user's QRcode
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Tampering
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-352.
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
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | Flask-Security-Too (PyPI) | 3.2.0 to before 3.4.5 | 3.4.5 | Patch available | GHSA-fxq4-r6mr-9x64 |
- Flask-Security-Too (PyPI) Vendor— Affected 3.2.0 to before 3.4.5 Fixed in 3.4.5 Patch available GHSA-fxq4-r6mr-9x64
Remediation
- Fix · GHSA-fxq4-r6mr-9x64 Flask-Security-Too (PyPI) Fixed in 3.4.5 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-fxq4-r6mr-9x64
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences