xml-crypto: Improper Verification of Cryptographic Signature
CVE-2025-29774 is a critical-severity improper verification of cryptographic signature vulnerability in xml-crypto from Node-saml, with a CVSS 4.0 base score of 9.3 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. Affected xml-crypto versions: >= 4.0.0, < 6.0.1; >= 3.0.0, < 3.2.1; < 2.1.6. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 9.1% chance of exploitation within 30 days, which is in the top 4.62% of all scored CVEs.
Critical severity: a successful attack would have severe impact.
What to do
- Check which version of xml-crypto 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 | xml-crypto | >= 4.0.0, < 6.0.1; >= 3.0.0, < 3.2.1; < 2.1.6 | 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
- LowNo special conditions are needed; the attack works reliably.
- Attack requirements
- NoneThe attack does not depend on a particular deployment or configuration.
- Privileges required
- NoneNo account or login is needed.
- User interaction
- NoneNo action by a victim is required.
- Confidentiality (vulnerable system)
- HighSerious loss of confidentiality on the vulnerable system.
- Integrity (vulnerable system)
- HighSerious loss of integrity on the vulnerable system.
- Availability (vulnerable system)
- HighSerious loss of availability on the vulnerable system.
- Confidentiality (other systems)
- NoneNo loss of confidentiality on systems beyond the vulnerable one.
- Integrity (other systems)
- NoneNo loss of integrity on systems beyond the vulnerable one.
- Availability (other systems)
- NoneNo loss of availability on systems beyond the vulnerable one.
Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X. Scored by CNA (github.com).
Official description
xml-crypto is an XML digital signature and encryption library for Node.js. An attacker may be able to exploit a vulnerability in versions prior to 6.0.1, 3.2.1, and 2.1.6 to bypass authentication or authorization mechanisms in systems that rely on xml-crypto for verifying signed XML documents. The vulnerability allows an attacker to modify a valid signed XML message in a way that still passes signature verification checks. For example, it could be used to alter critical identity or access control attributes, enabling an attacker with a valid account to escalate privileges or impersonate another user. Users of versions 6.0.0 and prior should upgrade to version 6.0.1 to receive a fix. Those who are still using v2.x or v3.x should upgrade to patched versions 2.1.6 or 3.2.1, respectively.
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: poc, automatable: yes, technical impact: total).
- Record last changed materially (score, affected products, status or references).
References
Patches and release notes
- github.com/node-saml/xml-crypto/commit/28f92218ecbb8dcbd238afa4efbbd50302aa9aed
- github.com/node-saml/xml-crypto/commit/886dc63a8b4bb5ae1db9f41c7854b171eb83aa98
- github.com/node-saml/xml-crypto/commit/8ac6118ee7978b46aa56b82cbcaa5fca58c93a07
- github.com/node-saml/xml-crypto/releases/tag/v2.1.6
- github.com/node-saml/xml-crypto/releases/tag/v3.2.1
- github.com/node-saml/xml-crypto/releases/tag/v6.0.1
Other references
Other vulnerabilities in xml-crypto
- 9.3 Critical severity
- 10.0 Critical severity
Recent Improper Verification of Cryptographic Signature vulnerabilities
- 9.8 Critical severity
- 9.8 Critical severity
- 8.8 High severity
- 8.6 High severity
- 7.8 High severity
- 9.8 Critical severity
Spotted an error? Tell us.