passport-saml: Improper Verification of Cryptographic Signature
CVE-2022-39299 is a high-severity improper verification of cryptographic signature vulnerability in passport-saml from Node-saml, with a CVSS 3.1 base score of 8.1 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. Affected passport-saml versions: < 3.2.2. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 4.49% chance of exploitation within 30 days, which is in the top 8.36% of all scored CVEs.
High severity with no evidence of exploitation so far.
What to do
- Check which version of passport-saml you run against the affected versions below, and install the vendor's latest release.
- Read the advisory on github.com for workarounds and exact fixed builds.
- Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Node-saml | passport-saml | < 3.2.2 | Not stated |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- HighSuccess depends on conditions outside the attacker's control.
- Privileges required
- NoneNo account or login is needed.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H. Scored by NVD.
| Scoring system | Score | Severity | Scored by |
|---|---|---|---|
| CVSS 3.1 | 7.4 | High | CNA (github.com) |
| CVSS 3.1 | 8.1 | High | NVD |
Official description
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.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Improper Verification of Cryptographic Signature
The product does not verify, or incorrectly verifies, the cryptographic signature for data.
More Improper Verification of Cryptographic Signature vulnerabilities (CWE-347)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: total).
- Record last changed materially (score, affected products, status or references).
References
Advisories
- github.com/node-saml/passport-saml/security/advisories/GHSA-m974-647v-whv7Third Party Advisory
Patches and release notes
Third-party and government advisories
- packetstormsecurity.com/files/169826/Node-saml-Root-Element-Signature-Bypass.htmlThird Party Advisory, VDB Entry
Recent Improper Verification of Cryptographic Signature vulnerabilities
- 7.8 High severity
- 7.8 High severity
- 7.8 High severity
- 8.8 High severity
- 9.8 Critical severity
- 9.8 Critical severity
Spotted an error? Tell us.