WhatBrokeToday
FAQ
Today's Trends
criticalInvestigatingnpmv>= 2.3.0, < 5.2.1, >= 6.0.0, < 6.1.8, >= 7.0.0-rc.0, < 7.0.2

bitcoinjs-lib Undetected Merkle Node Duplication Vulnerability

  1. Investigating(current)
  2. Trending(upcoming)
  3. Workaround available(upcoming)
  4. Resolved(upcoming)

Executive summary

An undetected merkle node duplication vulnerability exists in bitcoinjs-lib's fastMerkleRoot computation, allowing forged transaction lists to be validated. The issue is fixed in versions 5.2.1, 6.1.8, and 7.0.2.

No verified workaround yet

None of the linked reports describe a mitigation. Follow this incident to hear when one appears.

Official fix
Technical root cause

`fastMerkleRoot` pads an odd level by hashing the last node with itself without reporting it, and `checkTxRoots` fails to look for repeated transactions.

Evidence

1 report · 1 CVEShow
  1. [1]
    CVE First report
    bitcoinjs-lib: Undetected merkle node duplication in block root computation validates a forged transaction list(opens security advisory in a new tab)

    Fixed in: bitcoinjs-lib 5.2.1, bitcoinjs-lib 6.1.8, bitcoinjs-lib 7.0.2. Critical severity (CVE-2026-107846). Affected: bitcoinjs-lib (npm) >= 2.3.0, < 5.2.1, >= 6.0.0, < 6.1.8, >= 7.0.0-rc.0, < 7.0.2. ### Summary `fastMerkleRoot` pads an odd level by hashing the last node with itself. It does not report that it did so, and `checkTxRoots` never looks for repeated transactions. A peer can therefore duplicate transactions to fill the pad and produce a block with a different transaction list but…

    by GitHub Advisory Database 0upvotes 0comments

Timeline

  1. First report on security advisory

    bitcoinjs-lib: Undetected merkle node duplication in block root computation validates a forged transaction list

    Source