Description
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.
Recommendation
Update the elliptic package to the latest compatible version. Followings are version details:
- Affected version(s): < 6.5.6
- Patched version(s): 6.5.6
References
- GHSA-434g-2637-qmqr
- security.netapp.com
- blog.trailofbits.com
- CVE-2024-48949
- CWE-347
- CAPEC-310
- OWASP 2021-A2
- OWASP 2021-A6
Related Issues
- tiny-secp256k1 allows for verify() bypass when running in bundled environment - CVE-2024-49365
- matrix-js-sdk has insufficient MXC URI validation which allows client-side path traversal - CVE-2024-50336
- Elliptic allows BER-encoded signatures - CVE-2024-42461
- validator.js has a URL validation bypass vulnerability in its isURL function - CVE-2025-56200
You might also like:
- Tags:
- npm
- elliptic
Anything's wrong? Let us know
Last updated on November 27, 2025