{"id":"GHSA-m974-647v-whv7","summary":"Signature bypass via multiple root elements","details":"### Impact\n\nA 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.\n\n### Patches\n\nUsers 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.\n\n### Workarounds\n\nDisable SAML authentication.\n\n### References\n_Are there any links users can visit to find out more?_\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open a discussion in the [node-saml repo](https://github.com/node-saml/node-saml/discussions)\n\n### Credits\n\n* Felix Wilhelm of Google Project Zero\n","aliases":["CVE-2022-39299"],"modified":"2023-11-08T04:10:18.208725Z","published":"2022-10-12T22:05:41Z","database_specific":{"nvd_published_at":"2022-10-12T21:15:00Z","cwe_ids":["CWE-347"],"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2022-10-12T22:05:41Z"},"references":[{"type":"WEB","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":"WEB","url":"https://github.com/node-saml/passport-saml/commit/8b7e3f5a91c8e5ac7e890a0c90bc7491ce33155e"},{"type":"PACKAGE","url":"https://github.com/node-saml/passport-saml"},{"type":"WEB","url":"https://github.com/node-saml/passport-saml/releases/tag/v3.2.2"},{"type":"WEB","url":"http://packetstormsecurity.com/files/169826/Node-saml-Root-Element-Signature-Bypass.html"}],"affected":[{"package":{"name":"passport-saml","ecosystem":"npm","purl":"pkg:npm/passport-saml"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.2.2"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/10/GHSA-m974-647v-whv7/GHSA-m974-647v-whv7.json"}},{"package":{"name":"node-saml","ecosystem":"npm","purl":"pkg:npm/node-saml"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"4.0.0-beta.5"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/10/GHSA-m974-647v-whv7/GHSA-m974-647v-whv7.json"}},{"package":{"name":"@node-saml/node-saml","ecosystem":"npm","purl":"pkg:npm/%40node-saml/node-saml"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"4.0.0-beta.5"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/10/GHSA-m974-647v-whv7/GHSA-m974-647v-whv7.json"}},{"package":{"name":"@node-saml/passport-saml","ecosystem":"npm","purl":"pkg:npm/%40node-saml/passport-saml"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"4.0.0-beta.3"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/10/GHSA-m974-647v-whv7/GHSA-m974-647v-whv7.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}