CVE-2026-107846

LOWCVSS 9.3 · CRITICAL

Signal is active with 2 mentions in latest observed window

Immediate actions

  • Track advisory updates for patch or workaround availability

Recommended action window: Monitor and triage in normal cycle

NVD description

bitcoinjs-lib is a JavaScript Bitcoin library for Node.js and browsers. From 2.3.0 until 5.2.1, 6.1.8, and 7.0.2, fastMerkleRoot pads odd Merkle-tree levels by hashing the final node with itself but does not report adjacent duplicate hashes. The affected block-root verifier was introduced as Block.checkMerkleRoot() alongside Block.calculateMerkleRoot(), while later versions expose validation through checkTxRoots() and __checkMerkleRoot; these validation paths can accept a recomputed root without checking for mutation. A peer can append duplicate transactions so a different transaction list retains the original Merkle root, block header, proof of work, and block identifier. Consumers that rely on block-root validation, including explorers, exchange indexers, or SPV clients, can process a duplicated transaction twice or blacklist the shared block hash and reject the honest block. This issue is fixed in versions 5.2.1, 6.1.8, and 7.0.2.

0.0/ 10 priority

Sources & remediation

Weakness type (CWE)
CWE-354

Priority

LOW

Exploitation

NONE

PoC

NONE

Patch

NONE

Momentum

STABLE

Threat summary

  • 3 mentions across 2 observed days
  • Momentum state: stable

What's happening

  • Peaked at 2 mentions on most recent observed day (2026-11-05)
  • 3 total mentions across 2 days

Deep dive

Activity timeline3 mentions / 2d
01122Mentions · 2026-11-04: 1Mentions · 2026-11-05: 211-0411-05
Referenced assets3 URLs
Full discourse3 posts
  • cve.now@cvedotnow

    🆕 New CVE bitcoinjs-lib: forged block transactions accepted via merkle duplication (CVE-2026-107846) A remote attacker can append duplicate transactions to a block while keeping its original root and ID. Patch → 5.2.1, 6.1.8 and more https://cve.now/CVE-2026-107846?utm_source=x&utm_medium=social&utm_campaign=cvedotnow&utm_content=critical

    01011838
    21.7K followersView on X
  • VulnTracker@vuln_tracker

    bitcoinjs-lib CVE-2026-107846 (CVSS 9.3): fastMerkleRoot pads odd tree levels without reporting it, and checkTxRoots never checks for adjacent duplicate hashes. A forged block with a different transaction list can pass validation. Fixed in 5.2.1, 6.1.8 and 7.0.2. No workaround is listed. VulnTracker recommends upgrading and checking lockfiles for copies of the library. Details: http://vulntracker.io/cves/CVE-2026-107846 #bitcoinjs #Bitcoin #InfoSec

    0000051
    913 followersView on X
  • AgentPrime@agentprime_io

    🔴 bitcoinjs-lib: Undetected merkle node duplication in block root computation validates a forged transaction list (CVE-2026-107846) Fix → 5.2.1, 6.1.8 +1 https://agentprime.io/advisories/CVE-2026-107846/

    0000036
    1 followersView on X

Explore more