Read the docs
TI-2024-32952 Aliases CVE-2024-49364GHSA-7mc2-6phr-23xc

Insufficiently protected credentials in bitcoinjs tiny-secp256k1

Priority HIGH 76CWE-522Published · Updated

Key facts

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

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

Summary

tiny-secp256k1 is a tiny secp256k1 native/JS wrapper. Prior to version 1.1.7, a private key can be extracted on signing a malicious JSON-stringifiable object, when global Buffer is the buffer package. This affects only environments where require('buffer') is the NPM buffer package. The Buffer.isBuffer check can be bypassed, resulting in k reuse for different messages, leading to private key extraction over a single invalid message (and a second one for which any message/signature could be taken, e.g. previously known valid one). This issue has been patched in version 1.1.7.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00365 30th percentileScored 2026-11-07
Fix Fixed tiny-secp256k1 (bitcoinjs): 1.1.7tiny-secp256k1 (npm): 1.1.7

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Total

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

Affected products

VendorProductAffected versionsFixed inStatusSource
bitcoinjstiny-secp256k1before 1.1.71.1.7Patch availableCNA
—tiny-secp256k1 (npm)before 1.1.71.1.7Patch availableGHSA-7mc2-6phr-23xc
  • tiny-secp256k1 Vendorbitcoinjs Affected before 1.1.7 Fixed in 1.1.7 Patch available CNA
  • tiny-secp256k1 (npm) Vendor— Affected before 1.1.7 Fixed in 1.1.7 Patch available GHSA-7mc2-6phr-23xc

Remediation

  • Fix · CNA tiny-secp256k1 (bitcoinjs) Fixed in 1.1.7
  • Fix · GHSA-7mc2-6phr-23xc tiny-secp256k1 (npm) Fixed in 1.1.7 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2024-49364
  2. 2026-10-03 Alias added: GHSA-7mc2-6phr-23xc

References

  • TI-2024-32953 tiny-secp256k1 allows for verify() bypass when running in bundled environment CVSS 4.0HIGH 8.1
  • TI-2026-85137 bitcoinjs-lib block root check accepts duplicated transaction lists CVSS 4.0CRITICAL 9.3

Sources