// For flags

CVE-2022-39299

Signature bypass via multiple root elements in Passport-SAML

Severity Score

8.1
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

Passport-SAML is a SAML 2.0 authentication provider for Passport, the Node.js authentication library. A remote attacker may be able to bypass SAML authentication on a website using passport-saml. A successful attack requires that the attacker is in possession of an arbitrary IDP signed XML element. Depending on the IDP used, fully unauthenticated attacks (e.g without access to a valid user) might also be feasible if generation of a signed message can be triggered. Users should upgrade to passport-saml version 3.2.2 or newer. The issue was also present in the beta releases of `node-saml` before version 4.0.0-beta.5. If you cannot upgrade, disabling SAML authentication may be done as a workaround.

Passport-SAML es un proveedor de autenticación SAML versión 2.0 para Passport, la biblioteca de autenticación de Node.js. Un atacante remoto puede ser capaz de omitir la autenticación SAML en un sitio web usando passport-saml. Un ataque con éxito requiere que el atacante esté en posesión de un elemento XML firmado por un IDP arbitrario. Dependiendo del IDP usado, también podrían ser factibles los ataques sin autenticación (por ejemplo, sin acceso a un usuario válido) si puede activarse la generación de un mensaje firmado. Los usuarios deben actualizar a versión 3.2.2 de passport-saml o más reciente. El problema también estaba presente en las versiones beta de "node-saml" versiones anteriores a 4.0.0-beta.5. Si no puede actualizarse, puede deshabilitarse la autenticación SAML como mitigación

Node-saml and its partner project passport-saml are vulnerable to an authentication bypass due to lax parsing of SAML responses.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2022-09-02 CVE Reserved
  • 2022-10-12 CVE Published
  • 2024-06-02 EPSS Updated
  • 2024-08-03 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-347: Improper Verification of Cryptographic Signature
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Passport-saml Project
Search vendor "Passport-saml Project"
Passport-saml
Search vendor "Passport-saml Project" for product "Passport-saml"
< 3.2.2
Search vendor "Passport-saml Project" for product "Passport-saml" and version " < 3.2.2"
node.js
Affected
Passport-saml Project
Search vendor "Passport-saml Project"
Passport-saml
Search vendor "Passport-saml Project" for product "Passport-saml"
4.0.0
Search vendor "Passport-saml Project" for product "Passport-saml" and version "4.0.0"
beta1, node.js
Affected
Passport-saml Project
Search vendor "Passport-saml Project"
Passport-saml
Search vendor "Passport-saml Project" for product "Passport-saml"
4.0.0
Search vendor "Passport-saml Project" for product "Passport-saml" and version "4.0.0"
beta2, node.js
Affected
Passport-saml Project
Search vendor "Passport-saml Project"
Passport-saml
Search vendor "Passport-saml Project" for product "Passport-saml"
4.0.0
Search vendor "Passport-saml Project" for product "Passport-saml" and version "4.0.0"
beta3, node.js
Affected
Passport-saml Project
Search vendor "Passport-saml Project"
Passport-saml
Search vendor "Passport-saml Project" for product "Passport-saml"
4.0.0
Search vendor "Passport-saml Project" for product "Passport-saml" and version "4.0.0"
beta4, node.js
Affected