CVE-2023-31999 – @fastify/oauth2
Package
Manager: npm
Name: @fastify/oauth2
Vulnerable Version: >=0 <7.2.0
Severity
Level: High
CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
EPSS: 0.01126 pctl0.77462
Details
@fastify/oauth2 vulnerable to Cross Site Request Forgery due to reused Oauth2 state ### Impact All versions of @fastify/oauth2 used a statically generated `state` parameter at startup time and were used across all requests for all users. The purpose of the Oauth2 `state` parameter is to prevent Cross-Site-Request-Forgery attacks. As such, it should be unique per user and should be connected to the user's session in some way that will allow the server to validate it. ### Patches v7.2.0 changes the default behavior to store the `state` in a cookie with the `http-only` and `same-site=lax` attributes set. The state is now by default generated for every user. Note that this contains a breaking change in the `checkStateFunction` function, which now accepts the full `Request` object. ### Workarounds There are no known workarounds. ### References * [Prevent Attacks and Redirect Users with OAuth 2.0 State Parameters](https://auth0.com/docs/secure/attack-protection/state-parameters)
Metadata
Created: 2023-07-05T21:36:56Z
Modified: 2023-07-06T20:39:29Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/07/GHSA-g8x5-p9qc-cf95/GHSA-g8x5-p9qc-cf95.json
CWE IDs: ["CWE-352"]
Alternative ID: GHSA-g8x5-p9qc-cf95
Finding: F007
Auto approve: 1