Vulnerability · Published Oct 12, 2022 · Assigned by GitHub_M

CVE-2022-39299Signature bypass via multiple root elements in Passport-SAML

High 7.4

In plain English

A high-severity security flaw in passport-saml from node-saml. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 4.5% (higher than 92% of all known vulnerabilities). Ready-made attack tooling exists: public proof-of-concept code. Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.4High
Exploit odds (30 days)4.5%top 8.5% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack tooling1Public PoC

Official description

Passport-SAML is a SAML 2.0 authentication provider for Passport, the Node.js authentication library. A remote attacker may be able to bypass SAML authentication on a website using passport-saml. A successful attack requires that the attacker is in possession of an arbitrary IDP signed XML element. Depending on the IDP used, fully unauthenticated attacks (e.g without access to a valid user) might also be feasible if generation of a signed message can be triggered. Users should upgrade to passport-saml version 3.2.2 or newer. The issue was also present in the beta releases of `node-saml` before version 4.0.0-beta.5. If you cannot upgrade, disabling SAML authentication may be done as a workaround.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
npm@node-saml/node-saml4.0.0-beta.5GHSA-m974-647v-whv7
npm@node-saml/passport-saml4.0.0-beta.3GHSA-m974-647v-whv7
npmnode-saml4.0.0-beta.5GHSA-m974-647v-whv7
npmpassport-saml3.2.2GHSA-m974-647v-whv7

Affected products (as reported)

VendorProductVersions
node-saml passport-saml < 3.2.2

Weakness: CWE-347 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N

References