CWE
352 384
Advisory Published
Updated

CVE-2023-29020: Cross site request forgery token fixation in fastify-passport

First published: Fri Apr 21 2023(Updated: )

@fastify/passport is a port of passport authentication library for the Fastify ecosystem. The CSRF (Cross-Site Request Forger) protection enforced by the `@fastify/csrf-protection` library, when combined with `@fastify/passport` in affected versions, can be bypassed by network and same-site attackers. `fastify/csrf-protection` implements the synchronizer token pattern (using plugins `@fastify/session` and `@fastify/secure-session`) by storing a random value used for CSRF token generation in the `_csrf` attribute of a user's session. The `@fastify/passport` library does not clear the session object upon authentication, preserving the `_csrf` attribute between pre-login and authenticated sessions. Consequently, CSRF tokens generated before authentication are still valid. Network and same-site attackers can thus obtain a CSRF token for their pre-session, fixate that pre-session in the victim's browser via cookie tossing, and then perform a CSRF attack after the victim authenticates. As a solution, newer versions of `@fastify/passport` include the configuration options: `clearSessionOnLogin (default: true)` and `clearSessionIgnoreFields (default: ['passport', 'session'])` to clear all the session attributes by default, preserving those explicitly defined in `clearSessionIgnoreFields`.

Credit: security-advisories@github.com

Affected SoftwareAffected VersionHow to fix
Passport.js<1.1.0
Passport.js>=2.0.0<2.3.0

Never miss a vulnerability like this again

Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.

Frequently Asked Questions

  • What is CVE-2023-29020 vulnerability?

    CVE-2023-29020 is a vulnerability in @fastify/passport that allows bypassing CSRF protection when used with @fastify/csrf-protection in certain versions.

  • How severe is CVE-2023-29020?

    CVE-2023-29020 has a severity rating of 6.5 (medium).

  • Is Fastify Passport affected by CVE-2023-29020?

    Fastify Passport versions up to 1.1.0 and between 2.0.0 and 2.3.0 are affected by CVE-2023-29020.

  • How can the CSRF protection bypass in Fastify Passport be exploited?

    The CSRF protection bypass can be exploited by network and same-site attackers when @fastify/passport is combined with @fastify/csrf-protection in affected versions.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2025 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203