CVE-2021-39171: Unlimited transforms allowed for signed nodes in passport-saml

passport-saml Updated 02 Oct 2025

Summary

30/08/2021
Yes i
Moderate
5.3

CVE-2021-39171: Unlimited transforms allowed for signed nodes. Affects passport-saml versions < 3.1.0. Fixed in 3.1.0. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Mobile apps built by Devnack Design, build and launch iOS and Android apps with a senior product team. From idea to store release Start a project

Background

The passport-saml package is an npm package used for implementing SAML-based authentication in Node.js applications. It provides a simple way to integrate SAML authentication with popular frameworks like Passport. This vulnerability affects versions prior to 3.1.0 of the passport-saml package.

Vulnerability Detail

The vulnerability allows a malicious SAML payload to require unlimited transforms, which can consume significant system resources during processing. This can result in reduced or denied service, making it an effective way to perform a denial-of-service attack. The vulnerability has a CVSS score of 5.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L).

How To Fix

Minimum fixed version

3.1.0

This is the first release that contains the fix.

npm install passport-saml@3.1.0

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

There is no specific workaround mentioned for this vulnerability.

Conclusion

In conclusion, the passport-saml package prior to version 3.1.0 is vulnerable to a denial-of-service attack due to unlimited transforms allowed for signed nodes. It is recommended to update to version 3.1.0 or later to mitigate this vulnerability. For further support on vulnerability remediation, you can contact DevNack.com.

See every vulnerability recorded for passport-saml →

Share this vulnerability

FAQ

The vulnerability can lead to reduced or denied service by consuming significant system resources during processing, making it an effective denial-of-service attack.

You can fix this vulnerability by updating the passport-saml package to version 3.1.0 or later.

No specific workaround is mentioned for this vulnerability.

The CVSS score of this vulnerability is 5.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L).

Related vulnerabilities

Recent vulnerabilities recorded for passport-saml.

How To Fix

Minimum fixed version

3.1.0

This is the first release that contains the fix.

npm install passport-saml@3.1.0

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback