CVE-2023-29019: Session fixation in fastify-passport
@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.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2023-29019?
CVE-2023-29019 is classified as a high-severity vulnerability due to its potential to allow attackers to hijack user sessions.
How do I fix CVE-2023-29019?
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.
What types of applications are affected by CVE-2023-29019?
Applications that use @fastify/passport for user authentication combined with @fastify/session for session management are affected.
What impact does CVE-2023-29019 have on user sessions?
CVE-2023-29019 allows an attacker to exploit session fixation vulnerabilities, potentially leading to unauthorized access to user accounts.
Are all versions of @fastify/passport vulnerable to CVE-2023-29019?
No, only certain versions prior to 1.1.0 and between 2.0.0 to 2.3.0 are vulnerable to CVE-2023-29019.