{"id":"CVE-2022-39299","summary":"Signature bypass via multiple root elements in Passport-SAML","details":"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.","aliases":["GHSA-m974-647v-whv7"],"modified":"2026-04-14T04:26:12.980348Z","published":"2022-10-12T00:00:00Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/39xxx/CVE-2022-39299.json","cna_assigner":"GitHub_M","cwe_ids":["CWE-347"],"unresolved_ranges":[{"source":"AFFECTED_FIELD","extracted_events":[{"fixed":"3.2.2"}]},{"source":"DESCRIPTION","extracted_events":[{"fixed":"4.0.0-beta.5"}]}]},"references":[{"type":"WEB","url":"http://packetstormsecurity.com/files/169826/Node-saml-Root-Element-Signature-Bypass.html"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/39xxx/CVE-2022-39299.json"},{"type":"ADVISORY","url":"https://github.com/node-saml/passport-saml/security/advisories/GHSA-m974-647v-whv7"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-39299"},{"type":"FIX","url":"https://github.com/node-saml/passport-saml/commit/8b7e3f5a91c8e5ac7e890a0c90bc7491ce33155e"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/node-saml/passport-saml","events":[{"introduced":"0"},{"fixed":"8b6b2f28f1381f8d4f1476d5f962804e003c252a"},{"fixed":"8b7e3f5a91c8e5ac7e890a0c90bc7491ce33155e"}],"database_specific":{"source":["CPE_FIELD","REFERENCES"],"cpe":"cpe:2.3:a:passport-saml_project:passport-saml:*:*:*:*:*:node.js:*:*","extracted_events":[{"introduced":"0"},{"fixed":"3.2.2"}]}}],"versions":["0.0.3","v0.0.3","v0.1.0","v0.10.0","v0.11.0","v0.11.1","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.16.1","v0.16.2","v0.2.0","v0.2.1","v0.20.2","v0.3.0","v0.30.0","v0.32.0","v0.32.1","v0.33.0","v0.34.0","v0.35.0","v0.4.0","v0.5.0","v0.5.1","v0.5.2","v0.5.3","v0.6.0","v0.6.1","v0.6.2","v0.7.0","v0.8.0","v0.9.0","v0.9.1","v0.9.2","v1.0.0","v1.1.0","v1.2.0","v1.3.0","v1.3.1","v1.3.2","v1.3.5","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v2.0.0","v2.0.1","v2.0.2","v2.0.3","v2.0.4","v2.0.5","v3.0.0","v3.1.0","v3.1.1","v3.1.2","v3.2.0","v3.2.1"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-39299.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N"}]}