Skip to content

← Public intelligence

npm package

elliptic

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

8 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. Critical, CVSS 9.0npmAmendedPublished

    Elliptic's private key extraction in ECDSA upon signing a malformed input (e.g. a string)

    GHSA-vjh7-7g9h-fjfh

    Affected
    • npm elliptic <= 6.6.0
    Fixed in
    6.6.1· Vendor fix available
    Issue
    Private key can be extracted from ECDSA signature upon signing a malformed input (e.g. a string or a number), which could e.g. come from JSON network input Note that elliptic by design accepts hex strings as one of the possible input types Details In this code: https://github.com/indutny/elliptic/blob/3e46a48fdd2ef2f89593e5e058d85530578c9761/lib/elliptic/ec/index.js#L100-L107 msg is a BN instance after conversion, but nonce is an array, and different BN instances could generate equivalent arrays after conversion. Meaning that a same nonce could be generated for different messages used in signing process, leading to k reuse, leading to private key extraction from a pair of signatures Such a message can be constructed for any already known message/signature pair, meaning that the attack needs only a single malicious message being signed for a full key extraction While signing unverified attacker-controlled messages would be problematic itself (and exploitation of this needs…

    Recommended action: Upgrade to 6.6.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  2. Low, CVSS 2.3npmAmendedPublished

    Valid ECDSA signatures erroneously rejected in Elliptic

    CVE-2024-48948 · GHSA-fc9h-whq2-v747

    Affected
    • npm elliptic < 6.6.0
    Fixed in
    6.6.0· Vendor fix available
    Issue
    The Elliptic prior to 6.6.0 for Node.js, in its for ECDSA implementation, does not correctly verify valid signatures if the hash contains at least four leading 0 bytes and when the order of the elliptic curve's base point is smaller than the hash, because of an truncateToN anomaly. This leads to valid signatures being rejected. Legitimate transactions or communications may be incorrectly flagged as invalid.

    Recommended action: Upgrade to 6.6.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  3. Low, CVSS 2.7npmAmendedPublished

    Elliptic's verify function omits uniqueness validation

    CVE-2024-48949 · GHSA-434g-2637-qmqr

    Affected
    • npm elliptic < 6.5.6
    Fixed in
    6.5.6· Vendor fix available
    Issue
    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.

    Recommended action: Upgrade to 6.5.6 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  4. Low, CVSS 2.7npmAmendedPublished

    Elliptic allows BER-encoded signatures

    CVE-2024-42461 · GHSA-49q7-c7j4-3p7m

    Affected
    • npm elliptic >= 5.2.1, <= 6.5.6
    Fixed in
    6.5.7· Vendor fix available
    Issue
    In the Elliptic package 6.5.6 for Node.js, ECDSA signature malleability occurs because BER-encoded signatures are allowed.

    Recommended action: Upgrade to 6.5.7 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  5. Low, CVSS 2.7npmAmendedPublished

    Elliptic's EDDSA missing signature length check

    CVE-2024-42459 · GHSA-f7q4-pwc6-w24p

    Affected
    • npm elliptic >= 4.0.0, <= 6.5.6
    Fixed in
    6.5.7· Vendor fix available
    Issue
    In the Elliptic package 6.5.6 for Node.js, EDDSA signature malleability occurs because there is a missing signature length check, and thus zero-valued bytes can be removed or appended.

    Recommended action: Upgrade to 6.5.7 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  6. Low, CVSS 2.7npmAmendedPublished

    Elliptic's ECDSA missing check for whether leading bit of r and s is zero

    CVE-2024-42460 · GHSA-977x-g7h5-7qgw

    Affected
    • npm elliptic >= 2.0.0, <= 6.5.6
    Fixed in
    6.5.7· Vendor fix available
    Issue
    In the Elliptic package 6.5.6 for Node.js, ECDSA signature malleability occurs because there is a missing check for whether the leading bit of r and s is zero.

    Recommended action: Upgrade to 6.5.7 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  7. Medium, CVSS 6.8npmAmendedPublished

    Elliptic Uses a Broken or Risky Cryptographic Algorithm

    CVE-2020-28498 · GHSA-r9p9-mrjm-926w

    Affected
    • npm elliptic < 6.5.4
    Fixed in
    6.5.4· Vendor fix available
    Issue
    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.

    Recommended action: Upgrade to 6.5.4 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  8. High, CVSS 7.7npmAmendedPublished

    Signature Malleabillity in elliptic

    CVE-2020-13822 · GHSA-vh7m-p724-62c2

    Affected
    • npm elliptic < 6.5.3
    Fixed in
    6.5.3· Vendor fix available
    Issue
    The Elliptic package before version 6.5.3 for Node.js allows ECDSA signature malleability via variations in encoding, leading '\0' bytes, or integer overflows. This could conceivably have a security-relevant impact if an application relied on a single canonical signature.

    Recommended action: Upgrade to 6.5.3 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →