GHSA-g8x5-p9qc-cf95

    Dashboard / Vulnerabilities / GHSA-g8x5-p9qc-cf95

    GHSA-g8x5-p9qc-cf95

    Published: 5 Jul 2023Last Modified: 8 Nov 2023

    Summary: @fastify/oauth2 vulnerable to Cross Site Request Forgery due to reused Oauth2 state

    Details: ### 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)

    Affected packages

    Package

    Name: @fastify/oauth2

    Purl: pkg:npm/%40fastify/oauth2

    Affected ranges

    Type: SEMVER

    Events:

    Introduced- 0
    Fixed -7.2.0

    Affected versions

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High
    GHSA-g8x5-p9qc-cf95 | CVE-DB