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
Related Issues
- Regular Expression Denial of Service (ReDoS) in lodash - CVE-2020-28500
- Payload's SQLite adapter Session Fixation vulnerability - CVE-2025-4644
- Valid ECDSA signatures erroneously rejected in Elliptic - CVE-2024-48948
- Elliptic's private key extraction in ECDSA upon signing a malformed input (e.g. a string) - Vulnerability
- Tags:
- npm
- elliptic
Anything's wrong? Let us know Last updated on December 27, 2024