CVE-2026-89043
nicheSAML XML Signature Wrapping Bypass in passport-saml-encrypted (Node.js)
CVE-2026-89043 is an XML signature wrapping flaw (CWE-347) in the passport-saml-encrypted Node.js (npm) package: the code that verifies the XML signature and the code that extracts the SAML assertion perform independent XPath lookups with no cross-validation that they reference the same element. Because the signature check can pass against the original, genuinely signed assertion while the identity is read from an attacker-supplied element, an attacker holding any validly signed SAML message — for example, a response issued for their own legitimate login — can prepend a forged, unsigned assertion naming a victim and be accepted as that user. This yields unauthenticated impersonation of arbitrary users at any service provider relying on the package, with high confidentiality and integrity impact and no availability impact (CVSS 4.0 score 9.1, Critical); no stolen keys or passwords are required. All versions through and including 0.1.13 are affected, so any Node.js application using passport-saml-encrypted for SAML single sign-on is in scope. No public proof-of-concept is known and the flaw is not in CISA's Known Exploited Vulnerabilities catalog, so exploitation is not confirmed, though the low complexity of the attack once a signed message is obtained means it should not be ruled out.
What to do: Upgrade passport-saml-encrypted to a patched release beyond 0.1.13 as soon as one is available; until then, where configuration allows, require signed assertions and take the authenticated identity from the same XML element whose signature is validated. Check identity-provider and application authentication logs for unexplained SSO logins, since an attacker needs only any validly signed SAML message (for example, one issued for their own legitimate login) to impersonate an arbitrary user.
| passport-saml-encrypted project (npm / Node.js) passport-saml-encrypted (npm package) | all versions through and including 0.1.13 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
passport-saml-encrypted through 0.1.13 contains an XML signature wrapping vulnerability where signature verification and assertion extraction use independent XPath lookups with no cross-validation. Attackers holding any validly signed SAML message can prepend a forged unsigned assertion that gets accepted as the verified identity while the genuine signature validates against the original assertion.
- Weakness
- CWE-347
- Vector
- CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
In the news0 stories
No ingested article mentions this CVE yet.