CVE-2021-39171: Unlimited transforms allowed for signed nodes
5.3
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.57549%
CWE
Published
8/30/2021
Updated
2/10/2024
KEV Status
No
Technology
JavaScript
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
passport-saml | npm | < 3.1.0 | 3.1.0 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from missing validation of Transform element counts in XML signatures. The commit adds XPath-based transform counting and rejection logic in saml.ts
, specifically in the signature validation path. Before the patch, the validation routine would process
unlimited transforms from attacker-controlled SAML payloads, enabling CPU-intensive processing attacks. The vulnerable function is clearly the signature validation logic in SAML
class where transforms were not limited prior to the patch.