GitHub Advisoryadvisory · crates.io
GHSA-8frv-q972-9rq5 cggmp24 and cggmp21 are vulnerable to signature forgery through altered presignatures
HIGH
Official page ↗
- Aliases
- CVE-2025-66017
- Ecosystem
- crates.io
- Packages
- cggmp21, cggmp24
- Severity
- High
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
- Weaknesses
- CWE-327
- Reviewed
- 2025-11-25
Affected packages
• crates.io cggmp21: <= 0.6.3 (no fix yet)
• crates.io cggmp24: < 0.7.0-alpha.2 → fixed in 0.7.0-alpha.2
Description
Impact
This attack is against presignatures used in very specific context:
• Presignatures + HD wallets derivation: security level reduces to 85 bits \
Previously users could generate a presignature, and then choose a HD derivation path while issuing a partial signature via `Presignature::set_derivation_path`, which is malleable to attack that reduces target security level. To mitigate, this method has been removed from API.
• Presignatures + "raw signing" (when signer signs a hash without knowing an original message): results into signature forgery attack \
Previously, users were able to configure `Presignature::issue_partial_signature` with hashed message without ever providing original mesage. In new API, this method only accepts digests for which original message has been observed.
Patches
`cggmp24 v0.7.0-alpha.2` release contains API changes that make it impossible to use presignatures in contexts in which it reduces security. Follow migration guidelines to upgrade.
Workarounds
Users can continue using un-patched versions of library as long as they don't use presignatures in said scenarios where it weakens system security. To be sure, migrate to patched version that excludes presignatures from being used in such scenarios.
References
Read this blog post to learn more.
Related
Alias · CVE (1)
- CVE-2025-66017 CGGMP24 is a state-of-art ECDSA TSS protocol that supports 1-round signing (requires 3 preprocessing rounds), identifiable abort, and a key… vulnerability
Weakness · CWE (1)
- CWE-327 Use of a Broken or Risky Cryptographic Algorithm weakness
References
- https://github.com/LFDT-Lockness/cggmp21/security/advisories/GHSA-8frv-q972-9rq5 web
- https://nvd.nist.gov/vuln/detail/CVE-2025-66017 advisory
- https://github.com/LFDT-Lockness/cggmp21/commit/9d98157e151596573cb071da59d27a4e0ac9b8dc web
- https://github.com/LFDT-Lockness/cggmp21 package
- https://rustsec.org/advisories/RUSTSEC-2025-0127.html web
- https://rustsec.org/advisories/RUSTSEC-2025-0128.html web
- https://www.dfns.co/article/cggmp21-vulnerabilities-patched-and-explained web