Read the docs
TI-2025-35684 Aliases CVE-2025-57801GHSA-95v9-hv42-pwrj

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

Priority HIGH 70CWE-347Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · Low
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-347.

Summary

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00213 11th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed gnark (Consensys): 0.14.0github.com/consensys/gnark (Go): 0.14.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
Consensysgnarkbefore 0.14.00.14.0Patch availableCNA
—github.com/consensys/gnark (Go)before 0.14.00.14.0Patch availableGHSA-95v9-hv42-pwrj
  • gnark VendorConsensys Affected before 0.14.0 Fixed in 0.14.0 Patch available CNA
  • github.com/consensys/gnark (Go) Vendor— Affected before 0.14.0 Fixed in 0.14.0 Patch available GHSA-95v9-hv42-pwrj

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:consensys:gnark:*:*:*:*:*:*:*:*before 0.14.0VulnerableConsensys
  • cpe:2.3:a:consensys:gnark:*:*:*:*:*:*:*:* Versions before 0.14.0 Vulnerable ·Consensys

Remediation

  • Fix · CNA gnark (Consensys) Fixed in 0.14.0
  • Fix · GHSA-95v9-hv42-pwrj github.com/consensys/gnark (Go) Fixed in 0.14.0 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-57801
  2. 2026-10-03 Alias added: GHSA-95v9-hv42-pwrj

References

  • TI-2025-35973 gnark affected by denial of service when computing scalar multiplication using fake-GLV algorithm CVSS 3.1HIGH 7.5
  • TI-2024-33789 Out-of-memory during deserialization with crafted inputs CVSS 3.1MEDIUM 5.5
  • TI-2023-23885 gnark vulnerable to unsoundness in variable comparison/non-unique binary decomposition CVSS 3.1HIGH 7.1

Sources