What’s Vulnerable › Vulnerabilities
CVE-2025-57801: gnark is vulnerable to signature malleability in EdDSA and ECDSA due to missing scalar checks
- Severity: critical (CVSS 9.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2025-08-22 · updated 2026-06-17
- Weakness: CWE-347
Description
gnark is a zero-knowledge proof system framework. In versions prior to 0.14.0, the Verify function in eddsa.go and ecdsa.go used the S value from a signature without asserting that 0 ≤ S < order, leading to a signature malleability vulnerability. Because gnark’s native EdDSA and ECDSA circuits lack essential constraints, multiple distinct witnesses can satisfy the same public inputs. In protocols where nullifiers or anti-replay checks are derived from R and S, this enables signature malleability and may allow double spending. This issue has been addressed in version 0.14.0.
Affected products
- Consensys gnark: before 0.14.0 — fixed in 0.14.0
How to fix
Upgrade to a fixed version: Consensys gnark 0.14.0. Check the vendor advisory for mitigations.
References
- https://github.com/Consensys/gnark/commit/0ba6730f05537a351517998add89a61a0d82716e
- https://github.com/Consensys/gnark/security/advisories/GHSA-95v9-hv42-pwrj
Get alerted when CVE-2025-57801 or the next vulnerability affects your stack