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).
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)
| Vendor | Product | Versions |
|---|---|---|
| @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