Skip to content
Fencer Intel
low —

GHSA-fxq4-r6mr-9x64 json

CSRF Vuln can expose user's QRcode

published 5y ago modified last yr.

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 Fencer

Affected 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

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.