Skip to content
Heist/ feed
Back to feed
Medium

Security advisory

Type: advisorySources: OSVCVE: CVE-2020-28498

The package elliptic before 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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2020-28498
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 11:11 UTC · Revision 1

Source evidence

CVE-2020-28498

core-osv · Original source

Published 2 Feb 2021, 19:15 UTC

The package elliptic before 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.

osv:CVE-2020-28498
Complete source record
{
  "id": "e878d9582ff5b741abe5d48053e35552b13ec2804ead3001aadfd314a1d0d113",
  "url": "https://osv.dev/vulnerability/CVE-2020-28498",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2020-28498",
    "summary": "The package elliptic before 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.",
    "evidence": "osv:CVE-2020-28498",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2020-28498",
      "aliases": [
        "CVE-2020-28498",
        "GHSA-r9p9-mrjm-926w"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/indutny/elliptic",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "43ac7f230069bd1575e1e4a58394a512303ba803"
                },
                {
                  "fixed": "441b7428b0e8f6636c42118ad2aaa186d3c34c3f"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:indutny:elliptic:*:*:*:*:*:node.js:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "6.5.4"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "441b7428b0e8f6636c42118ad2aaa186d3c34c3f"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v6.5.3",
            "v6.5.2",
            "v6.5.1",
            "v6.5.0",
            "v6.4.1",
            "v6.4.0",
            "v6.3.3",
            "v6.3.2",
            "v6.3.1",
            "v6.3.0",
            "v6.2.8",
            "v6.2.7",
            "v6.2.6",
            "v6.2.5",
            "v6.2.4",
            "v6.2.3",
            "v6.2.2",
            "v6.2.1",
            "v6.2.0",
            "v6.1.0",
            "v6.0.2",
            "v6.0.1",
            "v6.0.0",
            "v5.2.1",
            "v5.2.0",
            "v5.1.1",
            "v5.1.0",
            "v5.0.0",
            "v4.1.0",
            "v4.0.0",
            "v3.1.0",
            "v3.0.4",
            "v3.0.3",
            "v3.0.2",
            "v3.0.1",
            "v3.0.0",
            "v2.0.2",
            "v2.0.1",
            "v2.0.0",
            "v1.0.1",
            "v1.0.0",
            "v0.16.0",
            "v0.15.17",
            "v0.15.16",
            "v0.15.15",
            "v0.15.14",
            "v0.15.13",
            "v0.15.12",
            "v0.15.11",
            "v0.15.10",
            "v0.15.9",
            "v0.15.8",
            "v0.15.7",
            "v0.15.6",
            "v0.15.5",
            "v0.15.4",
            "v0.15.3",
            "v0.15.2",
            "v0.15.1",
            "v0.15.0",
            "v0.14.2",
            "v0.14.1",
            "v0.14.0",
            "v0.13.2",
            "v0.13.1",
            "v0.13.0",
            "v0.12.0",
            "v0.11.1",
            "v0.11.0",
            "v0.10.2",
            "v0.10.1",
            "v0.10.0",
            "v0.9.2",
            "v0.9.1",
            "v0.9.0",
            "v0.8.0",
            "v0.7.0",
            "v0.6.1",
            "v0.6.0",
            "v0.5.0",
            "v0.4.0",
            "v0.3.0",
            "v0.2.0",
            "v0.1.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-28498.json"
          }
        }
      ],
      "modified": "2026-10-20T10:53:04.686929937Z",
      "provider": "osv",
      "references": [
        "https://github.com/christianlundkvist/blog/blob/master/2020_05_26_secp256k1_twist_attacks/secp256k1_twist_attacks.md",
        "https://github.com/indutny/elliptic/commit/441b7428b0e8f6636c42118ad2aaa186d3c34c3f",
        "https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1069836",
        "https://snyk.io/vuln/SNYK-JS-ELLIPTIC-1064899"
      ],
      "provider_metadata": {}
    },
    "related_cves": [
      {
        "value": "CVE-2020-28498",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 384184,
  "published_at": "2021-02-02T19:15:13.72+00:00"
}