Ecosyste.ms: Advisories
An open API service providing security vulnerability metadata for many open source software ecosystems.
Security Advisories: GSA_kwCzR0hTQS1tOTc0LTY0N3Ytd2h2N84AAvTE
Signature bypass via multiple root elements
Impact
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.
Patches
Users should upgrade to passport-saml 3.2.2 or newer. The issue was also present in the beta releases of node-saml
before v4.0.0-beta.5.
Workarounds
Disable SAML authentication.
References
Are there any links users can visit to find out more?
For more information
If you have any questions or comments about this advisory:
- Open a discussion in the node-saml repo
Credits
- Felix Wilhelm of Google Project Zero
JSON: https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1tOTc0LTY0N3Ytd2h2N84AAvTE
Source: GitHub Advisory Database
Origin: Unspecified
Severity: High
Classification: General
Published: over 1 year ago
Updated: over 1 year ago
CVSS Score: 8.1
CVSS vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Identifiers: GHSA-m974-647v-whv7, CVE-2022-39299
References:
- https://github.com/node-saml/passport-saml/security/advisories/GHSA-m974-647v-whv7
- https://github.com/node-saml/passport-saml/commit/8b7e3f5a91c8e5ac7e890a0c90bc7491ce33155e
- https://github.com/node-saml/passport-saml/releases/tag/v3.2.2
- https://nvd.nist.gov/vuln/detail/CVE-2022-39299
- http://packetstormsecurity.com/files/169826/Node-saml-Root-Element-Signature-Bypass.html
- https://github.com/advisories/GHSA-m974-647v-whv7
Blast Radius: 26.6
Affected Packages
npm:@node-saml/passport-saml
Dependent packages: 7Dependent repositories: 7
Downloads: 424,508 last month
Affected Version Ranges: < 4.0.0-beta.3
Fixed in: 4.0.0-beta.3
All affected versions: 4.0.0-beta.1, 4.0.0-beta.2
All unaffected versions: 4.0.0, 4.0.1, 4.0.2, 4.0.3, 4.0.4, 5.0.0
npm:@node-saml/node-saml
Dependent packages: 14Dependent repositories: 85
Downloads: 487,503 last month
Affected Version Ranges: < 4.0.0-beta.5
Fixed in: 4.0.0-beta.5
All affected versions: 4.0.0-beta.3, 4.0.0-beta.4
All unaffected versions: 4.0.0, 4.0.1, 4.0.2, 4.0.3, 4.0.4, 4.0.5, 5.0.0
npm:node-saml
Dependent packages: 4Dependent repositories: 12
Downloads: 6,710 last month
Affected Version Ranges: < 4.0.0-beta.5
Fixed in: 4.0.0-beta.5
All affected versions: 1.0.0, 1.1.0, 2.0.0, 2.1.0, 2.1.1, 3.0.0, 3.1.0, 3.1.1, 3.1.2, 4.0.0-beta.0, 4.0.0-beta.1, 4.0.0-beta.2
All unaffected versions:
npm:passport-saml
Dependent packages: 115Dependent repositories: 1,926
Downloads: 527,636 last month
Affected Version Ranges: < 3.2.2
Fixed in: 3.2.2
All affected versions: 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.1.0, 0.2.0, 0.2.1, 0.3.0, 0.4.0, 0.5.0, 0.5.1, 0.5.2, 0.5.3, 0.6.0, 0.6.1, 0.6.2, 0.7.0, 0.8.0, 0.9.0, 0.9.1, 0.9.2, 0.10.0, 0.11.0, 0.11.1, 0.12.0, 0.13.0, 0.14.0, 0.15.0, 0.16.0, 0.16.1, 0.16.2, 0.20.0, 0.20.2, 0.30.0, 0.31.0, 0.32.1, 0.33.0, 0.34.0, 0.35.0, 1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5, 1.4.0, 1.4.1, 1.4.2, 1.5.0, 2.0.1, 2.0.2, 2.0.4, 2.0.5, 2.0.6, 2.1.0, 2.2.0, 3.0.0, 3.1.0, 3.1.1, 3.1.2, 3.2.0, 3.2.1
All unaffected versions: 3.2.2, 3.2.3, 3.2.4