Read the docs
TI-2024-32625 Aliases CVE-2024-48930GHSA-584q-6j8j-r5pm

secp256k1-node vulnerable to private key extraction over ECDH

Priority HIGH 77CWE-354Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Information disclosure
Confidentiality · integrity · availability
High · None · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-200.

Summary

secp256k1-node is a Node.js binding for an Optimized C library for EC operations on curve secp256k1. In `elliptic`-based version, `loadUncompressedPublicKey` has a check that the public key is on the curve. Prior to versions 5.0.1, 4.0.4, and 3.8.1, however, `loadCompressedPublicKey` is missing that check. That allows the attacker to use public keys on low-cardinality curves to extract enough information to fully restore the private key from as little as 11 ECDH sessions, and very cheaply on compute power. Other operations on public keys are also affected, including e.g. `publicKeyVerify()` incorrectly returning `true` on those invalid keys, and e.g. `publicKeyTweakMul()` also returning predictable outcomes allowing to restore the tweak. Versions 5.0.1, 4.0.4, and 3.8.1 contain a fix for the issue.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00406 35th percentileScored 2026-11-07
Fix Fixed secp256k1-node (cryptocoinjs): 4.0.4, 3.8.1secp256k1 (npm): 5.0.1, 4.0.4, 3.8.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
cryptocoinjssecp256k1-node= 5.0.0; 4.0.0 to before 4.0.4; before 3.8.14.0.4, 3.8.1Patch availableCNA
—secp256k1 (npm)5.0.0 to before 5.0.15.0.1Patch availableGHSA-584q-6j8j-r5pm
—secp256k1 (npm)4.0.0 to before 4.0.44.0.4Patch availableGHSA-584q-6j8j-r5pm
—secp256k1 (npm)before 3.8.13.8.1Patch availableGHSA-584q-6j8j-r5pm
  • secp256k1-node Vendorcryptocoinjs Affected = 5.0.0; 4.0.0 to before 4.0.4; before 3.8.1 Fixed in 4.0.4, 3.8.1 Patch available CNA
  • secp256k1 (npm) Vendor— Affected 5.0.0 to before 5.0.1 Fixed in 5.0.1 Patch available GHSA-584q-6j8j-r5pm
  • secp256k1 (npm) Vendor— Affected 4.0.0 to before 4.0.4 Fixed in 4.0.4 Patch available GHSA-584q-6j8j-r5pm
  • secp256k1 (npm) Vendor— Affected before 3.8.1 Fixed in 3.8.1 Patch available GHSA-584q-6j8j-r5pm

CPE names CISA-ADP · 1

CPEVersionsRoleVendor
cpe:2.3:a:secp256k1-node_project:secp256k1-node:*:*:*:*:*:*:*:*———
  • cpe:2.3:a:secp256k1-node_project:secp256k1-node:*:*:*:*:*:*:*:* Versions — — ·—

Remediation

  • Fix · CNA secp256k1-node (cryptocoinjs) Fixed in 4.0.4, 3.8.1
  • Fix · GHSA-584q-6j8j-r5pm secp256k1 (npm) Fixed in 5.0.1 Advisory →
  • Fix · GHSA-584q-6j8j-r5pm secp256k1 (npm) Fixed in 4.0.4 Advisory →
  • Fix · GHSA-584q-6j8j-r5pm secp256k1 (npm) Fixed in 3.8.1 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2024-48930
  2. 2026-10-03 Alias added: GHSA-584q-6j8j-r5pm

References

  • TI-2025-20420 base-x homograph attack allows Unicode lookalike characters to bypass validation. CVSS 4.0HIGH 8.7

Sources