CVE-2022-39299
Signature bypass via multiple root elements in Passport-SAML
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
- node-saml · passport-saml
- CVSS v3.1 NVD
- 8.1 HIGH
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS v3.1 GITHUB
- 7.4 HIGH
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - EPSS
- 4.49% chance of exploitation in the next 30 days, 91st percentile
- Published
- 2022-10-12
- Updated
- 2025-04-23
Proof-of-concept exploits (1)
- doyensec/CVE-2022-39299_PoC_Generator19★ · 2023-02-08
Security advisories
- http://packetstormsecurity.com/files/169826/Node-saml-Root-Element-Signature-Bypass.html
- node-saml/passport-saml/commit/8b7e3f5a91c8e5ac7e890a0c90bc7491ce33155e
- node-saml/passport-saml/security/advisories/GHSA-m974-647v-whv7
- advisories/GHSA-m974-647v-whv7