{"id":"GHSA-4mxg-3p6v-xgq3","summary":"Node-SAML SAML Signature Verification Vulnerability","details":"Node-SAML loads the assertion from the (unsigned) original response document. This is different than the parts that are verified when checking signature.\n\nThis allows an attacker to modify authentication details within a valid SAML assertion. For example, in one attack it is possible to remove any character from the SAML assertion username.\n\nTo conduct the attack an attacker would need a validly signed document from the identity provider (IdP).\n\nIn fixing this we made sure to process the SAML assertions from only verified/authenticated contents. This will prevent future variants from coming up. \n\nNote: this is distinct from the previous xml-crypto CVEs.","aliases":["CVE-2025-54419"],"modified":"2025-08-08T14:53:55Z","published":"2025-07-28T20:38:44Z","database_specific":{"github_reviewed_at":"2025-07-28T20:38:44Z","nvd_published_at":"2025-07-28T20:17:48Z","cwe_ids":["CWE-287","CWE-347"],"severity":"CRITICAL","github_reviewed":true},"references":[{"type":"WEB","url":"https://github.com/node-saml/node-saml/security/advisories/GHSA-4mxg-3p6v-xgq3"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-54419"},{"type":"WEB","url":"https://github.com/node-saml/node-saml/commit/31ead9411ebc3e2385086fa9149b6c17732bca10"},{"type":"PACKAGE","url":"https://github.com/node-saml/node-saml"},{"type":"WEB","url":"https://github.com/node-saml/node-saml/releases/tag/v5.1.0"}],"affected":[{"package":{"name":"@node-saml/node-saml","ecosystem":"npm","purl":"pkg:npm/%40node-saml/node-saml"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"5.1.0"}]}],"database_specific":{"last_known_affected_version_range":"\u003c= 5.0.1","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/07/GHSA-4mxg-3p6v-xgq3/GHSA-4mxg-3p6v-xgq3.json"}},{"package":{"name":"passport-saml","ecosystem":"npm","purl":"pkg:npm/passport-saml"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"3.2.4"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/07/GHSA-4mxg-3p6v-xgq3/GHSA-4mxg-3p6v-xgq3.json"}},{"package":{"name":"@node-saml/passport-saml","ecosystem":"npm","purl":"pkg:npm/%40node-saml/passport-saml"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"5.1.0"}]}],"database_specific":{"last_known_affected_version_range":"\u003c= 5.0.1","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/07/GHSA-4mxg-3p6v-xgq3/GHSA-4mxg-3p6v-xgq3.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N"}]}