GHSA-rc4q-9m69-gqp8
Lack of protection against cookie tossing attacks in fastify-csrf
Quick fix
GHSA-rc4q-9m69-gqp8 — fastify-csrf: upgrade to the fixed version with the command below.
npm install fastify-csrf@3.1.0Details
### Impact
Users that used fastify-csrf with the "double submit" mechanism using cookies with an application deployed across multiple subdomains, e.g. "heroku"-style platform as a service.
### Patches
Version 3.1.0 of the fastify-csrf fixes it. See https://github.com/fastify/fastify-csrf/pull/51 and https://github.com/fastify/csrf/pull/2.
The user of the module would need to supply a `userInfo` when generating the CSRF token to fully implement the protection on their end. This is needed only for applications hosted on different subdomains.
### Workarounds
None available.
### References
1. https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html 2. https://owasp.org/www-pdf-archive/David_Johansson-Double_Defeat_of_Double-Submit_Cookie.pdf
### Credits
This vulnerability was found by Xhelal Likaj <xhelallikaj20@gmail.com>.
### For more information If you have any questions or comments about this advisory: * Open an issue in [fastify-csrf](https://github.com/fastify/fastify-csrf) * Email us at [hello@matteocollina.com](mailto:hello@matteocollina.com)
Are you affected?
Enter the version of the package you're using.
Affected packages
References
- https://github.com/fastify/fastify-csrf/security/advisories/GHSA-rc4q-9m69-gqp8[WEB]
- https://nvd.nist.gov/vuln/detail/CVE-2021-29624[ADVISORY]
- https://github.com/fastify/csrf/pull/2[WEB]
- https://github.com/fastify/fastify-csrf/pull/51[WEB]
- https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html[WEB]
- https://github.com/fastify/fastify-csrf/releases/tag/v3.1.0[WEB]
- https://owasp.org/www-pdf-archive/David_Johansson-Double_Defeat_of_Double-Submit_Cookie.pdf[WEB]