CVE-2025-57801

gnark is vulnerable to signature malleability in EdDSA and ECDSA due to missing scalar checks

Published Aug 22, 2025 CVSS 4.0 · 8.6 High EPSS < 1% KEV · Not listed
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2025-25624 gnark is vulnerable to signature malleability in EdDSA and ECDSA due to missing scalar checks
Github GHSA Github GHSA GHSA-95v9-hv42-pwrj gnark is vulnerable to signature malleability in EdDSA and ECDSA due to missing scalar checks
History
Type Values Removed Values Added
CPEs cpe:2.3:a:consensys:gnark:*:*:*:*:*:*:*:*
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H'}

Type Values Removed Values Added
First Time appeared Consensys
Consensys gnark
Vendors & Products Consensys
Consensys gnark
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
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.
Title gnark is vulnerable to signature malleability in EdDSA and ECDSA due to missing scalar checks
Weaknesses CWE-347
References
Metrics cvssV4_0

{'score': 8.6, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Aug 22, 2025, 8:06 PM
Reserved
Aug 20, 2025, 2:30 PM
Status
Analyzed
Published
Aug 22, 2025, 8:15 PM
Modified
Jun 17, 2026, 9:43 AM