secp256k1-node vulnerable to private key extraction over ECDH
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
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| cryptocoinjs | secp256k1-node | = 5.0.0; 4.0.0 to before 4.0.4; before 3.8.1 | 4.0.4, 3.8.1 | Patch available | CNA |
| — | secp256k1 (npm) | 5.0.0 to before 5.0.1 | 5.0.1 | Patch available | GHSA-584q-6j8j-r5pm |
| — | secp256k1 (npm) | 4.0.0 to before 4.0.4 | 4.0.4 | Patch available | GHSA-584q-6j8j-r5pm |
| — | secp256k1 (npm) | before 3.8.1 | 3.8.1 | Patch available | GHSA-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
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| 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
- 2026-10-02 Threatist record created from CVE-2024-48930
- 2026-10-03 Alias added: GHSA-584q-6j8j-r5pm
References
Other 7
- https://github.com/cryptocoinjs/secp256k1-node/security/advisories/GHSA-584q-6j8j-r5pm
- https://github.com/cryptocoinjs/secp256k1-node/commit/8bd6446e000fa59df3cda0ae3e424300747ea5ed
- https://github.com/cryptocoinjs/secp256k1-node/commit/9a15fff274f83a6ec7f675f1121babcc0c42292f
- https://github.com/cryptocoinjs/secp256k1-node/commit/e256905ee649a7caacc251f7c964667195a52221
- https://github.com/cryptocoinjs/secp256k1-node/blob/6d3474b81d073cc9c8cc8cfadb580c84f8df5248/lib/elliptic.js#L17-L19
- https://github.com/cryptocoinjs/secp256k1-node/blob/6d3474b81d073cc9c8cc8cfadb580c84f8df5248/lib/elliptic.js#L37-L39
- https://github.com/cryptocoinjs/secp256k1-node
More cryptocoinjs vulnerabilities
- TI-2025-20420 base-x homograph attack allows Unicode lookalike characters to bypass validation. CVSS 4.0HIGH 8.7
Sources
- CVE-2024-48930 · CVE Program
- CVE-2024-48930 · NVD
- FIRST EPSS
- GHSA-584q-6j8j-r5pm · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences