Elliptic Uses a Cryptographic Primitive with a Risky Implementation
Low severity
GitHub Reviewed
Published
Jan 8, 2026
to the GitHub Advisory Database
•
Updated Jan 9, 2026
Description
Published by the National Vulnerability Database
Jan 8, 2026
Published to the GitHub Advisory Database
Jan 8, 2026
Last updated
Jan 9, 2026
Reviewed
Jan 9, 2026
The ECDSA implementation of the Elliptic package generates incorrect signatures if an interim value of 'k' (as computed based on step 3.2 of RFC 6979 https://datatracker.ietf.org/doc/html/rfc6979 ) has leading zeros and is susceptible to cryptanalysis, which can lead to secret key exposure. This happens, because the byte-length of 'k' is incorrectly computed, resulting in its getting truncated during the computation. Legitimate transactions or communications will be broken as a result. Furthermore, due to the nature of the fault, attackers could–under certain conditions–derive the secret key, if they could get their hands on both a faulty signature generated by a vulnerable version of Elliptic and a correct signature for the same inputs.
This issue affects all known versions of Elliptic (at the time of writing, versions less than or equal to 6.6.1).
References