CVE-2026-107846: bitcoinjs-lib · Improper Validation of Integrity Check Value
Affects bitcoinjs-libSource CVE Database V5
Not known to be exploited · CVSS 9.3 Critical · fixed in 7.0.2 : patch bitcoinjs-lib as a priority.
Data as of 4 Nov 2026, 21:42 UTC
Thin evidence
One scorer or none| CNA (GitHub_M) | CVSS 4.0 | 9.3 |
|---|
- Patch
- Available – fixed in 7.0.2, 6.1.8, 5.2.1
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:L/SC:N/SI:H/SA:HExploitation evidence
Disclosed: evidence found.
CVE published 4 Nov 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 4 Nov 2026.
What to do
Upgrade bitcoinjs-lib to 7.0.2, 6.1.8 or 5.2.1; bitcoinjs-lib to 7.0.2 or 6.1.8.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| bitcoinjsbitcoinjs-lib | Affected
| Fixed in
|
| bitcoinjsbitcoinjs-lib | Affected
| Fixed in
|
| bitcoinjsbitcoinjs-lib | Affected
| Fixed in
|
npmbitcoinjs-libpkg:npm/bitcoinjs-libOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Users and developers should upgrade bitcoinjs-lib to version 5.2.1, 6.1.8, or 7.0.2 or later, where this vulnerability is fixed. No other mitigation is required as the issue is resolved in these official releases.
Description
bitcoinjs-lib versions from 2.3.0 up to but not including 5.2.1, 6.0.0 up to 6.1.8, and 7.0.0-rc.0 up to 7.0.2 contain a vulnerability in Merkle root validation. The library's fastMerkleRoot function pads odd Merkle-tree levels by hashing the final node with itself but does not detect adjacent duplicate hashes, allowing a peer to append duplicate transactions without changing the Merkle root or block identifiers. This can cause consumers relying on block-root validation, such as explorers or SPV clients, to process duplicated transactions or reject valid blocks. The issue is fixed in versions 5.2.1, 6.1.8, and 7.0.2.
References
- github.com/bitcoinjs/bitcoinjs-lib/security/advisories/GHSA-8vv3-6qpc-gpw6 (opens in a new tab)
- github.com/bitcoinjs/bitcoinjs-lib/commit/009f165edfbf925cad8964b2dce478d18dd19449 (opens in a new tab)
- github.com/bitcoinjs/bitcoinjs-lib/commit/b79c7714c0687473dc6e25c69fc5fc597302c7a0 (opens in a new tab)
- github.com/bitcoinjs/bitcoinjs-lib/commit/f3434d1e4bb5e0784fe769c4cd08a243576232a1 (opens in a new tab)