Lucene search

K
cveGitHub_MCVE-2023-29020
HistoryApr 21, 2023 - 11:15 p.m.

CVE-2023-29020

2023-04-2123:15:20
CWE-384
CWE-352
GitHub_M
web.nvd.nist.gov
33
fastify
passport
authentication
csrf
protection
vulnerability
network attack
same-site attack

CVSS3

6.5

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

REQUIRED

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

HIGH

Availability Impact

NONE

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N

AI Score

6.5

Confidence

High

EPSS

0.001

Percentile

30.5%

@fastify/passport is a port of passport authentication library for the Fastify ecosystem. The CSRF (Cross-Site Request Forger) protection enforced by the @fastify/csrf-protection library, when combined with @fastify/passport in affected versions, can be bypassed by network and same-site attackers. fastify/csrf-protection implements the synchronizer token pattern (using plugins @fastify/session and @fastify/secure-session) by storing a random value used for CSRF token generation in the _csrf attribute of a user’s session. The @fastify/passport library does not clear the session object upon authentication, preserving the _csrf attribute between pre-login and authenticated sessions. Consequently, CSRF tokens generated before authentication are still valid. Network and same-site attackers can thus obtain a CSRF token for their pre-session, fixate that pre-session in the victim’s browser via cookie tossing, and then perform a CSRF attack after the victim authenticates. As a solution, newer versions of @fastify/passport include the configuration options: clearSessionOnLogin (default: true) and clearSessionIgnoreFields (default: ['passport', 'session']) to clear all the session attributes by default, preserving those explicitly defined in clearSessionIgnoreFields.

Affected configurations

Nvd
Vulners
Node
fastifypassportRange<1.1.0node.js
OR
fastifypassportRange2.0.02.3.0node.js
VendorProductVersionCPE
fastifypassport*cpe:2.3:a:fastify:passport:*:*:*:*:*:node.js:*:*

CNA Affected

[
  {
    "vendor": "fastify",
    "product": "fastify-passport",
    "versions": [
      {
        "version": "< 1.1.0",
        "status": "affected"
      },
      {
        "version": ">= 2.0.0, < 2.3.0",
        "status": "affected"
      }
    ]
  }
]

CVSS3

6.5

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

REQUIRED

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

HIGH

Availability Impact

NONE

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N

AI Score

6.5

Confidence

High

EPSS

0.001

Percentile

30.5%

Related for CVE-2023-29020