Skip to content
Heist/ feed
Back to feed
Medium

Elliptic Cryptanalysis vulnerability when `k` has leading zeros

Type: advisorySources: OSV

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).

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-14505
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 18:37 UTC · Revision 1

Source evidence

Elliptic Cryptanalysis vulnerability when `k` has leading zeros

core-osv · Original source

Published 8 Jan 2026, 21:05 UTC

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).

osv:CVE-2025-14505
Complete source record
{
  "id": "48f816ef99d2ffeb15c00c3d8ba959a2b4a9d50fd52336ed7a33d2fe947700a2",
  "url": "https://osv.dev/vulnerability/CVE-2025-14505",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Elliptic Cryptanalysis vulnerability when `k` has leading zeros",
    "summary": "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).",
    "evidence": "osv:CVE-2025-14505",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2025-14505",
      "aliases": [
        "CVE-2025-14505",
        "GHSA-848j-6mx2-7j84"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/indutny/elliptic",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "9b77436a59cc35eccf4ffb848259c8762a492ee7"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "6.6.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v6.6.1",
            "v6.6.0",
            "v6.5.7",
            "v6.5.6",
            "v6.5.5",
            "v6.5.4",
            "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-2025-14505.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:22.242028380Z",
      "provider": "osv",
      "references": [
        "https://registry.npmjs.org",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/14xxx/CVE-2025-14505.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-14505",
        "https://www.herodevs.com/vulnerability-directory/cve-2025-14505",
        "https://github.com/indutny/elliptic/issues/321",
        "https://github.com/indutny/elliptic"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-1240"
        ],
        "cna_assigner": "HeroDevs",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/14xxx/CVE-2025-14505.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-14505",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 488626,
  "published_at": "2026-01-08T21:05:14.8+00:00"
}