Elliptic Uses a Broken or Risky Cryptographic Algorithm
Published 8 Mar 2021 · Updated 14 Jan 2025
Affected package
- Affected
- <6.5.4
- Fixed in
- 6.5.4
npm install elliptic@6.5.4Details
The npm package elliptic before version 6.5.4 are vulnerable to Cryptographic Issues via the secp256k1 implementation in elliptic/ec/key.js. There is no check to confirm that the public key point passed into the derive function actually exists on the secp256k1 curve. This results in the potential for the private key used in this implementation to be revealed after a number of ECDH operations are performed.
Is GHSA-r9p9-mrjm-926w 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-2020-28498
- Linkgithub.com/indutny/elliptic/pull/244/commits
- Linkgithub.com/indutny/elliptic/commit/441b7428b0e8f6636c42118ad2aaa186d3c34c3f
- Linkgithub.com/christianlundkvist/blog/blob/master/2020_05_26_secp256k1_twist_attacks/secp256k1_twist_attacks.md
- Linksnyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1069836
- Linksnyk.io/vuln/SNYK-JS-ELLIPTIC-1064899
- Linkwww.npmjs.com/package/elliptic
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.