In short
- CVE-2023-29019 is a HIGH (CVSS 8.1) vulnerability affecting passport (fastify), @fastify/passport.
- Chance of exploitation in the next 30 days (EPSS): 0.75%, higher than 55.0% of all vulnerabilities.
- Fix: update to 2.3.0, 1.1.0 or later.
| Package | Affected versions | Patched versions |
|---|
| passport | ≥ 2.0.0, < 2.3.0< 1.1.0
| 2.3.01.1.0
|
| @fastify/passport npm | ≥ 2.0.0, < 2.3.0< 1.1.0
| 2.3.01.1.0
|
Description
Applications using @fastify/passport 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.
Details
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.
Fix
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.
Credits
NVD description
@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.
Running one of these products? Scan your site to see whether it exposes a vulnerable version.
Scan my site free