Skip to main content

passport-saml-encrypted CVE-2026-89043

| EUVDEUVD-2026-75632 CRITICAL
Improper Verification of Cryptographic Signature (CWE-347)
2026-09-10 VulnCheck GHSA-8vr8-32m4-xw8q
9.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain one validly signed SAML message
  2. Delivery
    Prepend forged unsigned assertion for target identity
  3. Exploit
    Submit to SP ACS endpoint
  4. Execution
    Signature validates against original, identity read from forgery
  5. Impact
    Authenticated as impersonated/admin user

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Signature verification
Exploitation Conditions

Exploitation requires the attacker to possess at least one validly signed SAML message issued by the trusted IdP for the target SP (this is the CVSS 4.0 AT:P attack requirement) - for example a legitimate low-privilege assertion, a replayed capture, or a valid message from any account. Given that prerequisite, no authentication to the SP (PR:N) and no user interaction (UI:N) are needed, and it works against default configurations of passport-saml-encrypted through 0.1.13 because the verify-vs-extract XPath mismatch is inherent to the library, not a toggle. Limiting factors: the required signed sample, and any deployment that additionally enforces single-assertion or response-level signature binding would blunt the prepending technique.

Impact

This is a genuine high-severity authentication/integrity issue, not a CVSS-inflation case: the CVSS 4.0 base score of 9.1 reflects network vector, low complexity, no privileges, no user interaction, and high confidentiality and integrity impact (VC:H/VI:H), with VA:N confirming there is no availability effect. The key discriminator is AT:P (Attack Requirements: Present) - the attacker must first obtain at least one validly signed SAML message from the target IdP, which is the practical gating condition and lowers the realism somewhat versus a truly zero-prerequisite bug. No EPSS score, KEV entry, or POC was supplied, so exploitation likelihood signals are absent; the risk here rests on the well-understood, reproducible nature of XSW attacks rather than on observed exploitation. Note the input Tags include 'Denial Of Service', which conflicts with the vector (VA:N, no availability impact) - the real impact is credential/identity forgery - and 'Jwt Attack', which is inaccurate since this is a SAML XML-signature attack, not a JWT one.

Exploit ScenarioDerived

An attacker who has captured or been legitimately issued one valid signed SAML assertion (for example, a low-privilege account or an intercepted assertion) edits the SAML response to prepend a second, unsigned <Assertion> naming an administrator's identity. The SP's signature check still validates against the original genuine assertion, but the identity-extraction XPath reads the forged prepended assertion, logging the attacker in as the victim/admin. Because the attack is fully server-reachable over the network with no user interaction, it can be scripted once a single signed sample is obtained; no public POC is currently identified.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 10, 2026

Authentication bypass in the passport-saml-encrypted Node.js/Passport SAML strategy (versions through 0.1.13) lets a remote attacker impersonate arbitrary users via classic XML Signature Wrapping (XSW). Because signature verification and assertion extraction perform independent, uncorrelated XPath lookups, an attacker who possesses any single validly signed SAML message can prepend a forged, unsigned assertion that the application accepts as the authenticated identity while the genuine signature still validates against the untouched original assertion. No public exploit identified at time of analysis, and the flaw is not in CISA KEV; reported by VulnCheck.

RemediationAI

No vendor-released patch identified at time of analysis - the references point to an open tracking issue (#30) and the vulnerable source, not to a fixed release. Until a fixed version ships, the most effective compensating control is to move signature validation so it is cryptographically bound to the consumed assertion: enforce that the SAML response is signed (not just the assertion), reject any response containing more than one assertion, and validate using a hardened SAML library that resolves the signed element by ID and rejects wrapping (e.g. migrating off passport-saml-encrypted to a maintained, XSW-hardened strategy) - the trade-off is integration/testing effort and potential IdP metadata reconfiguration. As a deployment control, restrict the SP's trust to a single expected IdP certificate and disable acceptance of unsigned or multiply-signed assertions; if the 'encrypted' assertion feature is not required, prefer a library whose verify/extract path shares one canonical node reference. Monitor the krakenjs repository and issue #30 for a tagged patched release and upgrade as soon as one is published.

Affected VersionsENISA

passport-saml-encrypted 0 ≤0.1.13

Affected Packages

euvd passport_saml_encrypted no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is passport-saml-encrypted (CPE cpe:2.3:a:krakenjs:passport-saml-encrypted), a variant of the passport-saml SAML 2.0 authentication strategy for the Passport middleware in Node.js. The root cause is CWE-347 (Improper Verification of Cryptographic Signature) manifesting as XML Signature Wrapping: the library validates the XML-DSig on the SAML response with one XPath query (lib/saml.js:256) and then reads the subject/attributes from a separately located assertion (lib/saml.js:328) without confirming that the node it authenticated is the same node it consumed. SAML assertions are signed XML; when a parser trusts a Reference URI or document-order lookup rather than binding verification to the exact signed element, an attacker can graft an additional attacker-controlled assertion elsewhere in the document so the verifier and the consumer resolve different elements.

Know when Jwt Attack gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 9.1 CRITICAL
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
vuln.today AI 7.4 HIGH

AC:H because the attacker must first obtain a validly signed SAML message; PR:N/UI:N as no SP auth or interaction is needed; C:H/I:H for identity impersonation, A:N as no availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

The passport-saml-encrypted Node.js library (versions through 0.1.13) contains a critical authentication bypass enabling remote attackers to impersonate arbitrary users by exploiting XML Signature Wrapping in SAML assertion processing. Organizations relying on this library for SAML-based identity management face immediate risk of unauthorized account access across all connected applications, as attackers can forge valid authentication claims that the library accepts without detection.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Immediate interim mitigation: discontinue passport-saml-encrypted and migrate to an actively maintained SAML library with current security updates. If immediate discontinuation is not operationally feasible, deploy a SAML validation gateway or reverse-proxy middleware that independently performs signature verification and assertion extraction using a single, audited code path to eliminate the signature-wrapping attack surface. Additionally, implement continuous monitoring of authentication logs to detect anomalous user impersonations, unexpected identity claims, or authentication patterns deviating from baseline behavior.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Rare
niche npm SAML variant of passport-saml, minimal production adoption
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2013-3900 MEDIUM
5.5 Dec 11

Why is Microsoft republishing a CVE from 2013? We are republishing CVE-2013-3900 in the Security Update Guide to update

CVE-2026-48558 CRITICAL POC
9.5 Jun 12

Authentication bypass in SimpleHelp 5.5.15 and prior (plus 6.0 pre-release builds) allows remote unauthenticated attacke

CVE-2026-5430 CRITICAL POC
10.0 Aug 06

Authentication bypass in WSO2 API Manager and related components (Universal Gateway, Traffic Manager, API Control Plane,

CVE-2025-59718 CRITICAL
9.8 Dec 09

Authentication bypass in Fortinet FortiOS, FortiProxy, and FortiSwitchManager allows unauthenticated remote attackers to

CVE-2025-25291 CRITICAL POC
9.3 Mar 12

ruby-saml provides security assertion markup language (SAML) single sign-on (SSO) for Ruby. Rated critical severity (CVS

CVE-2026-47304 CRITICAL POC
9.8 Jul 14

Security feature bypass in Microsoft .NET (shipped via Visual Studio 2022 17.12/17.14 and Visual Studio 2026 18.7) lets

CVE-2025-25292 CRITICAL POC
9.3 Mar 12

ruby-saml provides security assertion markup language (SAML) single sign-on (SSO) for Ruby. Rated critical severity (CVS

CVE-2022-25898 CRITICAL POC
9.8 Jul 01

The package jsrsasign before 10.5.25 are vulnerable to Improper Verification of Cryptographic Signature when JWS or JWT

CVE-2026-107722 CRITICAL POC
9.8 Oct 08

Authentication and authorization bypass in fast-jwt 6.2.0 through 6.2.4 (npm, NearForm) lets a remote, unauthenticated a

CVE-2024-42004 CRITICAL POC
9.8 Dec 18

A library injection vulnerability exists in Microsoft Teams (work or school) 24046.2813.2770.1094 for macOS. Rated criti

CVE-2024-41145 CRITICAL POC
9.8 Dec 18

A library injection vulnerability exists in the WebView.app helper app of Microsoft Teams (work or school) 24046.2813.27

CVE-2024-41138 CRITICAL POC
9.8 Dec 18

A library injection vulnerability exists in the com.microsoft.teams2.modulehost.app helper app of Microsoft Teams (work

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy