Overview
In the realm of cybersecurity, new vulnerabilities are discovered daily, posing a continuous threat to systems worldwide. One such recently discovered vulnerability, labeled CVE-2025-54419, has significant potential to compromise systems or leak sensitive data. It affects a SAML library running on Node, independent of any frameworks. This vulnerability is particularly notable due to its high severity and potential to manipulate authentication details within a SAML assertion. Entities utilizing Node-SAML version 5.0.1 are at risk and should take immediate action to mitigate the risk of exploitation.
Vulnerability Summary
CVE ID: CVE-2025-54419
Severity: Critical (CVSS: 10.0)
Attack Vector: Network
Privileges Required: None
User Interaction: None
Impact: Potential System Compromise and Data Leakage
Affected Products
Escape the Surveillance Era
Most apps won’t tell you the truth.
They’re part of the problem.
Phone numbers. Emails. Profiles. Logs.
It’s all fuel for surveillance.
Ameeba Chat gives you a way out.
- • No phone number
- • No email
- • No personal info
- • Anonymous aliases
- • End-to-end encrypted
Chat without a trace.
Product | Affected Versions
Node-SAML | 5.0.1
How the Exploit Works
The exploit takes advantage of a discrepancy in how Node-SAML handles SAML assertions. In version 5.0.1, Node-SAML loads the assertion from the original, unsigned response document, which is different from the parts of the document that are checked when verifying the signature. This discrepancy allows an attacker with a validly signed document from the Identity Provider (IdP) to modify the authentication details within the same valid SAML assertion. For instance, an attacker could remove any character from the SAML assertion username, potentially leading to unauthorized access or information leakage.
Conceptual Example Code
To illustrate, an attacker could manipulate a legitimate SAML assertion to modify the username field as shown below:
<saml:Assertion>
<saml:Subject>
<saml:NameID>@NOTREALUSER</saml:NameID>
</saml:Subject>
<saml:AuthnStatement>
<saml:AuthnContext>
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
After manipulating the assertion, the attacker might remove a character from the username, resulting in an unauthorized username:
<saml:Assertion>
<saml:Subject>
<saml:NameID>@OTREALUSER</saml:NameID>
</saml:Subject>
<saml:AuthnStatement>
<saml:AuthnContext>
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
This not only allows unauthorized access but also leaks sensitive user data, causing potential system compromise.