{"id":"GHSA-fxq4-r6mr-9x64","aliases":[],"url":"https://o3.security/vulnerability/GHSA-fxq4-r6mr-9x64","summary":"CSRF Vuln can expose user's QRcode","details":"### Impact\nWhen 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.\n\n### Patches\nThis is fixed in the upcoming 4.0.0 release.\n\n### Workarounds\nYou 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.\n\n### References\nNone.\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Read this pull request: #423","published":"2021-04-08T16:46:00Z","modified":"2024-12-02T05:34:30.141378Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"PyPI","name":"flask-security-too","fixedVersion":"3.4.5"}],"fix":null,"references":[{"type":"WEB","url":"https://github.com/Flask-Middleware/flask-security/security/advisories/GHSA-fxq4-r6mr-9x64"},{"type":"WEB","url":"https://pypi.org/project/Flask-Security-Too"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2024-12-02T05:34:30.141378Z"}}