Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2023-29020— Cross site request forgery token fixation in fastify-passport

Quick assessment

Affected
fastify fastify-passport
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

passport是美国Jared Hanson个人开发者的一个与 Express 兼容的 Node.js 身份验证中间件。 passport 存在授权问题漏洞,该漏洞源于不会在身份验证时清除会话对象,保留预登录和身份验证会话之间的_csrf属性。攻击者利用该漏洞执行跨站请求伪造漏洞。

CVSS 6.5 · Medium EPSS 0.38% · P30
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2023-29020

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Cross site request forgery token fixation in fastify-passport
Source: CVE Program / CVE List V5
Vulnerability Description
@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`.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
会话固定
Source: CVE Program / CVE List V5
Vulnerability Title
passport 跨站请求伪造漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
passport是美国Jared Hanson个人开发者的一个与 Express 兼容的 Node.js 身份验证中间件。 passport 存在授权问题漏洞,该漏洞源于不会在身份验证时清除会话对象,保留预登录和身份验证会话之间的_csrf属性。攻击者利用该漏洞执行跨站请求伪造漏洞。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
fastify fastify-passport < 1.1.0 -

II. Public POCs for CVE-2023-29020

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-29020

请登录查看更多情报信息。

Patches & Fixes for CVE-2023-29020 (1)

Vendor Advisories for CVE-2023-29020 (1)

Other References for CVE-2023-29020 (2)

IV. Related Vulnerabilities

V. Comments for CVE-2023-29020

No comments yet


Leave a comment