Skip to main content
← All vulnerabilities
CVE-2023-29019GHSA-4M3M-PPVX-XGW9

Session fixation in fastify-passport

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.1.0, 2.3.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

@fastify/passport is a port of passport authentication library for the Fastify ecosystem. Applications using `@fastify/passport` in affected versions for user authentication, in combination with `@fastify/session` as the underlying session management mechanism, are vulnerable to session fixation attacks from network and same-site attackers. fastify applications rely on the `@fastify/passport` library for user authentication. The login and user validation are performed by the `authenticate` function. When executing this function, the `sessionId` is preserved between the pre-login and the authenticated session. Network and same-site attackers can hijack the victim's session by tossing a valid `sessionId` cookie in the victim's browser and waiting for the victim to log in on the website. As a solution, newer versions of `@fastify/passport` regenerate `sessionId` upon login, preventing the attacker-controlled pre-session cookie from being upgraded to an authenticated session. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • fastify fastify-passport

    fixed in 1.1.0; From 2.0.0 · fixed in 2.3.0

  • @fastify/passportnpm

    fixed in 1.1.0

  • @fastify/passportnpm

    From 2.0.0 · fixed in 2.3.0

References 3

GitHub · fastify/fastify-passport

owasp.org