gnark is vulnerable to signature malleability in EdDSA and ECDSA due to missing scalar checks
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Consensys | gnark | affected |
|
No data.
| Vendor | Product | Versions |
|---|---|---|
| Consensys | Gnark | — |
| Source | ID | Title |
|---|---|---|
EUVD |
EUVD-2025-25624 | gnark is vulnerable to signature malleability in EdDSA and ECDSA due to missing scalar checks |
Github GHSA |
GHSA-95v9-hv42-pwrj | gnark is vulnerable to signature malleability in EdDSA and ECDSA due to missing scalar checks |
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.226% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:a:consensys:gnark:*:*:*:*:*:*:*:* | |
| Metrics |
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Consensys
Consensys gnark |
|
| Vendors & Products |
Consensys
Consensys gnark |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| 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
|