Vulnerability · Published Oct 19, 2026 · Assigned by openjs

CVE-2026-110008@fastify/oauth2 vulnerable to Login CSRF via OAuth state cookie not cleared after callback

Medium 4.2

In plain English

A medium-severity cross-site request forgery in @fastify/oauth2 from @fastify/oauth2. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.1% (higher than 1% of all known vulnerabilities).

Severity (CVSS 3.1)4.2Medium
Exploit odds (30 days)<0.1%top 99.3% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

@fastify/oauth2 is a Fastify wrapper for OAuth2 login flows. In versions 7.2.0 through 8.3.1, the state and code-verifier cookies are set without a Path attribute at a login route with two or more path segments, while the clearing step at the OAuth callback writes them with a root path, so the original cookies survive the callback and the documented single-use guarantee for the state value does not hold. A state value an attacker learns stays valid for the rest of the browser session, letting the attacker drive their own authorization flow in the victim's browser and sign the victim in to the attacker's account (login CSRF). The issue is fixed in @fastify/oauth2 8.3.2, and users should upgrade to 8.3.2 or later. As a workaround, set an explicit cookie path so the set and the clear name the same cookie.

Affected products (as reported)

VendorProductVersions
@fastify/oauth2 @fastify/oauth2 7.2.0 – before 8.3.2

Weakness: CWE-352, CWE-459, CWE-613 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N

References