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.
References
| Link | Resource |
|---|---|
| https://github.com/Consensys/gnark/commit/0ba6730f05537a351517998add89a61a0d82716e | Patch |
| https://github.com/Consensys/gnark/security/advisories/GHSA-95v9-hv42-pwrj | Exploit Vendor Advisory |
Configurations
History
No history.
Information
Published : 2025-08-22 20:15
Updated : 2025-09-12 19:05
NVD link : CVE-2025-57801
Mitre link : CVE-2025-57801
CVE.ORG link : CVE-2025-57801
JSON object : View
Products Affected
consensys
- gnark
CWE
CWE-347
Improper Verification of Cryptographic Signature
