| Title | krakenjs passport-saml-encrypted 0.1.13 xml signature wrapping |
|---|
| Description | validateResponse() performs signature verification and assertion-content extraction as two independent XPath lookups over the same document, each selecting the first matching node in document order, with no cross-check that the Assertion node whose attributes are trusted is the same node (or is covered by) the Signature that was verified. This is the classic XML Signature Wrapping (XSW) vulnerability class. An attacker who possesses any validly IdP-signed SAML message can insert an additional, unsigned, forged Assertion earlier in document order; the library reports the signature as valid (because a real signed assertion still exists in the document) while extracting attacker-controlled identity/attributes from the unsigned forged assertion instead. |
|---|
| Source | ⚠️ https://github.com/krakenjs/passport-saml-encrypted/issues/30 |
|---|
| User | Yu Bao from PayPal Cyber Security Team (UID 99838) |
|---|
| Submission | 08/11/2026 04:56 (1 month ago) |
|---|
| Moderation | 09/13/2026 17:49 (1 month later) |
|---|
| Status | Duplicate |
|---|
| VulDB entry | 402181 [krakenjs passport-saml-encrypted up to 0.1.13 signature verification] |
|---|
| Points | 0 |
|---|