CVE-2026-110008
Received Received - Intake

State Cookie Handling Flaw in Fastify OAuth2

Vulnerability report for CVE-2026-110008, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-19

Last updated on: 2026-10-19

Assigner: openjs

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-19
Last Modified
2026-10-19
Generated
2026-10-19
AI Q&A
2026-10-19
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
@fastify/oauth2 @fastify/oauth2 7.2.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-613 According to WASC, "Insufficient Session Expiration is when a web site permits an attacker to reuse old session credentials or session IDs for authorization."
CWE-352 The web application does not, or cannot, sufficiently verify whether a request was intentionally provided by the user who sent the request, which could have originated from an unauthorized actor.
CWE-459 The product does not properly "clean up" and remove temporary or supporting resources after they have been used.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a Login Cross-Site Request Forgery (CSRF) issue in the @fastify/oauth2 package affecting versions 7.2.0 through 8.3.1. The state and code-verifier cookies are set without a Path attribute during login, but cleared with a root path during callback. This causes the original cookies to persist, allowing an attacker to reuse a valid state value and manipulate the OAuth flow to sign a victim into the attacker's account.

Detection Guidance

Check if your system uses @fastify/oauth2 versions 7.2.0 through 8.3.1. Inspect cookies set during OAuth login flows for missing Path attributes. Look for state and code-verifier cookies persisting after callback due to mismatched Path settings.

Impact Analysis

An attacker could trick a user into initiating an OAuth flow, then use a reused state value to complete the flow in the victim's browser. This allows the attacker to log the victim into the attacker's account without stealing credentials. The impact includes unauthorized account access and potential data exposure.

Compliance Impact

This vulnerability could lead to unauthorized access to user accounts, potentially violating data protection requirements under GDPR (e.g., unauthorized processing of personal data) and HIPAA (e.g., unauthorized access to protected health information). Compliance may be compromised if user data is exposed or accessed without authorization.

Mitigation Strategies

Upgrade @fastify/oauth2 to version 8.3.2 or later. Alternatively, set cookie: { path: '/' } in plugin options or use __Host- prefixed cookie names to ensure proper cookie clearing.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-110008. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart