CVE-2025-66016: cggmp21 Package Vulnerability in ZK Proof Leading to Key Reconstruction
Summary
CVE-2025-66016: Missing check in ZK proof in CGGMP21 Threshold Signing Protocol. Affects cggmp21 versions >= 0.0.0-0, < 0.6.3. Fixed in 0.6.3. How to fix ↓
Also tracked for
- cggmp24 · crates.io
The same CVE-2025-66016 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.
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.
No signup required · Results in about 60 seconds
Background
The cggmp21 package is a Rust library designed for cryptographic operations, specifically implementing the CGGMP21 Threshold Signing Protocol. This library allows multiple parties to collaboratively sign messages without revealing their private keys. However, it has been found to contain a critical vulnerability that could allow a malicious actor to reconstruct the full private key from a single signer, undermining the security of the protocol.
Vulnerability Detail
The vulnerability arises from a missing check in the Zero-Knowledge (ZK) proof mechanism within the cggmp21 package. This oversight enables an attacker, acting as a malicious signer, to exploit the protocol and reconstruct the complete private key. The implications of this vulnerability are severe, as it compromises the confidentiality and integrity of the cryptographic operations that rely on this library, potentially exposing sensitive data and allowing unauthorized access.
How To Fix
Minimum fixed version
0.6.3
This is the first release that contains the fix.
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
Currently, there are no specific workarounds mentioned for this vulnerability. The best course of action is to update to the patched version as soon as possible.
Conclusion
The cggmp21 package has a critical vulnerability that could allow a malicious signer to reconstruct the full private key due to a missing check in the ZK proof. It is imperative to update to the patched version to secure your application. Utilize tools like Vulert to monitor for vulnerabilities in your dependencies.
See every vulnerability recorded for cggmp21 →
FAQ
The vulnerability is due to a missing check in the ZK proof, allowing a malicious signer to reconstruct the full private key.
You can use Vulert, which monitors and alerts for open-source vulnerabilities in real-time. Check your application against the vulnerability using the Vulert playground at Vulert Scanner.
Versions prior to 0.6.3 are affected by this vulnerability.
While there are no specific workarounds, it is crucial to prioritize updating to the patched version to mitigate the risk.
You can read more in the blog post available at https://www.dfns.co/article/cggmp21-vulnerabilities-patched-and-explained.
References
Related vulnerabilities
Recent vulnerabilities recorded for cggmp21.