Node-SAML loads the assertion from the (unsigned) original response document. This is different than the parts that are verified when checking signature.
This 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.
To conduct the attack an attacker would need a validly signed document from the identity provider (IdP).
In fixing this we made sure to process the SAML assertions from only verified/authenticated contents. This will prevent future variants from coming up.
Note: this is distinct from the previous xml-crypto CVEs.
{ "cwe_ids": [ "CWE-287", "CWE-347" ], "nvd_published_at": "2025-07-28T20:17:48Z", "severity": "CRITICAL", "github_reviewed": true, "github_reviewed_at": "2025-07-28T20:38:44Z" }