CVE-2024-49364 tiny-secp256k1 vulnerable to private key extraction when signing a malicious JSON-stringifyable message in bundled environment

High 8.1 Published Updated

Attackers can extract private keys by signing malicious messages in environments using the NPM buffer package, affecting users of tiny-secp256k1.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2024-49364?

CVE-2024-49364 is a high-severity vulnerability in bitcoinjs tiny-secp256k1, published on 1 Jul 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

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.

Weakness: CWE-522

Which versions are affected by CVE-2024-49364?

2 open source packages ship an affected version, including tiny-secp256k1.

PackageAffectedFixed in
tiny-secp256k1 npmAll versions1.1.7
tiny-secp256k1 npmAll versions1.1.7

How do I fix CVE-2024-49364?

Upgrade tiny-secp256k1 to 1.1.7 or later.

Is CVE-2024-49364 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-49364 exists.

Sources

Also known as GHSA-7mc2-6phr-23xc.

Is CVE-2024-49364 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free