Elliptic's verify function omits uniqueness validation
Published 10 Oct 2024 · Updated 27 Nov 2025
Affected package
- Affected
- <6.5.6
- Fixed in
- 6.5.6
npm install elliptic@6.5.6Details
The Elliptic package 6.5.5 for Node.js for EDDSA implementation does not perform the required check if the signature proof(s) is within the bounds of the order n of the base point of the elliptic curve, leading to signature malleability. Namely, the verify function in lib/elliptic/eddsa/index.js omits sig.S().gte(sig.eddsa.curve.n) || sig.S().isNeg() validation.
This vulnerability could have a security-relevant impact if an application relies on the uniqueness of a signature.
Is GHSA-434g-2637-qmqr in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected elliptic, and gives you the command that fixes it.
References
- Advisorynvd.nist.gov/vuln/detail/CVE-2024-48949
- Linkgithub.com/indutny/elliptic/commit/7ac5360118f74eb02da73bdf9f24fd0c72ff5281
- Linkblog.trailofbits.com/2025/11/18/we-found-cryptography-bugs-in-the-elliptic-library-using-wycheproof
- Packagegithub.com/indutny/elliptic
- Linkgithub.com/indutny/elliptic/compare/v6.5.5...v6.5.6
- Linksecurity.netapp.com/advisory/ntap-20241227-0003
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.