Saltar al contenido
DUPIN
ALERTAS · EN VIVO
Contacto

VULNERABILIDADDetectada 04 NOV · 17:33

CVE-2026-107846 Duplicación de nodos Merkle no detectada en bitcoinjs-lib permite validar una lista de transacciones…

fastMerkleRoot rellena los niveles impares del árbol Merkle hasheando el nodo final consigo mismo pero no reporta hashes duplicados adyacentes, y las rutas de validación como Block.checkMerkleRoot(), checkTxRoots() y __checkMerkleRoot pueden aceptar una raíz recalculada sin detectar mutaciones. Un par puede agregar transacciones duplicadas para que una lista distinta conserve la raíz Merkle, el encabezado, la prueba de trabajo y el identificador de bloque originales. Consumidores que dependen de esa validación…

9.3CRÍTICA

CVSS 4.0

  • Probabilidad de explotación · EPSS del 09/110,2 % · percentil 7
  • Explotada activamenteNo confirmada
  • Exploit públicoNo conocido

Afectados

  • bitcoinjs bitcoinjs-lib

    >= 2.3.0, < 5.2.1>= 6.0.0, < 6.1.8>= 7.0.0-rc.0, < 7.0.2

Qué hacer

  1. Verificá si usás bitcoinjs-lib y en qué versión.
  2. Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
  3. Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.

Calculadora CVSS

CVSS 4.0 · 9.3 CRÍTICA

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:L/SC:N/SI:H/SA:H

  • Vector de ataqueRed
  • Complejidad del ataqueBaja
  • Requisitos del ataqueNinguno
  • Privilegios requeridosNinguno
  • Interacción del usuarioNinguna
  • Confidencialidad (sistema vulnerable)Baja
  • Integridad (sistema vulnerable)Alta
  • Disponibilidad (sistema vulnerable)Baja
  • Confidencialidad (sistemas posteriores)Ninguna
  • Integridad (sistemas posteriores)Alta
  • Disponibilidad (sistemas posteriores)Alta

Descripción original

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.

Referencias (4)

Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.

DUPIN · CONTACTO

Contanos tu caso

El mensaje ya va armado: podés cambiarlo.

También podés escribir a [email protected]. Usamos tus datos solo para responderte.