First published: Fri Apr 21 2023(Updated: )
@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.
Credit: security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
Passport.js | <1.1.0 | |
Passport.js | >=2.0.0<2.3.0 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2023-29019 is classified as a high-severity vulnerability due to its potential to allow attackers to hijack user sessions.
To fix CVE-2023-29019, upgrade to versions of @fastify/passport greater than 1.1.0 or between 2.0.0 and 2.3.0.
Applications that use @fastify/passport for user authentication combined with @fastify/session for session management are affected.
CVE-2023-29019 allows an attacker to exploit session fixation vulnerabilities, potentially leading to unauthorized access to user accounts.
No, only certain versions prior to 1.1.0 and between 2.0.0 to 2.3.0 are vulnerable to CVE-2023-29019.