CVE-2023-29020

Medium

Description

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

SeverityMedium
CVSS6.5
Exploit probability—
ProductFastify Passport
PublishedApr 21, 2023
First seenApr 21, 2023

How to fix

Update
  • fastify passport1.1.0, 2.3.0 or later
  • @fastify/passport1.1.0, 2.3.0 or later

Affected products

ProductAffected versionsFixed in
fastify passportv < 1.1.0, 2.0.0 ≤ v < 2.3.01.1.0, 2.3.0
@fastify/passportnpmv < 1.1.0, 2.0.0 ≤ v < 2.3.01.1.0, 2.3.0

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.

CVE-2023-29020 · Fastify Passport · Dark Radar