Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. @fastify/passport
  4. ›
  5. CVE-2023-29020

CVE-2023-29020: Session Fixation

April 21, 2023

@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.

References

  • github.com/advisories/GHSA-2ccf-ffrj-m4qw
  • github.com/fastify/fastify-passport/security/advisories/GHSA-2ccf-ffrj-m4qw

Code Behaviors & Features

Detect and mitigate CVE-2023-29020 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 1.1.0, all versions starting from 2.0.0 before 2.3.0

Fixed versions

  • 1.1.0
  • 2.3.0

Solution

Upgrade to versions 1.1.0, 2.3.0 or above.

Impact 6.5 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N

Learn more about CVSS

Weakness

  • CWE-352: Cross-Site Request Forgery (CSRF)
  • CWE-352: Cross-Site Request Forgery (CSRF)
  • CWE-384: Session Fixation

Source file

npm/@fastify/passport/CVE-2023-29020.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:17:06 +0000.