Summary
CVE-2026-89042 is a critical authentication bypass vulnerability in passport-saml-encrypted, an npm package (maintained under the krakenjs organization) that implements a Passport.js strategy for SAML authentication with support for encrypted assertions. The library makes SAML response signature verification conditional on the optional cert configuration option, meaning that if an implementer does not explicitly configure a certificate, signature checks are silently skipped and unsigned, attacker-forged SAML responses are accepted as valid. The issue carries a CVSS score of 9.3 (Critical) and can lead to full authentication bypass and account impersonation.
Technical details
- Root cause: In
lib/saml.js,SAML.prototype.validateResponse()gates signature validation behind a truthy check onself.options.cert(e.g.if (self.options.cert && !self.validateSignature(...))). Whencertis not set, the entire signature-verification branch is bypassed rather than failing closed. - Trigger conditions: The vulnerable code path is reached whenever an application integrates
passport-saml-encryptedwithout explicitly supplying thecertoption — a configuration gap made more likely because the project’s own README example omitscertentirely. - Attack vector: Network-based, no authentication or user interaction required. An attacker crafts an unsigned SAML response with forged claims (e.g., an arbitrary
NameIDsuch as a victim’s email, or elevated role/attribute values) and POSTs it directly to the application’s Assertion Consumer Service (ACS) endpoint. - Impact: Because the response is never cryptographically validated, the application accepts the forged identity and claims as authentic, allowing an attacker to impersonate any user — including privileged accounts — resulting in full authentication bypass with high confidentiality and integrity impact.
Affected software
passport-saml-encrypted(npm package,krakenjs/passport-saml-encrypted) — all versions through 0.1.13
Severity
- CVSS v3.1 Base Score: 9.1 (Critical) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N - CVSS v4.0 Score: 9.3 (Critical) —
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - CWE-347: Improper Verification of Cryptographic Signature
Mitigation and recommended actions
- Immediate: As of the latest available information, no patched release of
passport-saml-encryptedhas been published to resolve this issue; the upstream GitHub issue remains open with no merged fix. Security teams should treat any deployment of this package as vulnerable regardless of version. - Workarounds / network mitigations:
- Explicitly configure the
certoption with the Identity Provider’s signing certificate for every instance ofpassport-saml-encryptedin use, and verify (via code review or testing) that unsigned SAML responses are rejected. - Where feasible, migrate away from
passport-saml-encryptedto an actively maintained SAML library that enforces signature verification unconditionally (fail-closed by default). - Add application-layer checks that explicitly reject any SAML response lacking a valid
<Signature>element before it reaches the library’s validation logic. - Monitor SSO/ACS endpoints for anomalous unsigned SAML POST requests as an interim detection measure.
- Enforce additional identity assurance controls (e.g., step-up authentication, session anomaly detection) for SSO-authenticated sessions until the library is remediated or replaced.
- Explicitly configure the

