Error de alta gravedad en el software de Bitcoin revelado 2 años después de la corrección

Error de gravedad "alta" en el software de Bitcoin revelado 2 años después de la corrección - error de Bitcoin CoreUn error importante en el software Bitcoin Core, que no debe confundirse con Bitcoin System, podría haber permitido a los atacantes robar fondos, retrasar acuerdos o dividir la red blockchain más grande en versiones conflictivas si no se hubiera solucionado en secreto hace dos años.

El error en el código

Un artículo publicado el miércoles por Braydon Fuller, un ingeniero de protocolo en el sitio de compras de criptomonedas Purse, y Javed Khan, un desarrollador senior del protocolo Handshake, dicen que detectaron la vulnerabilidad en junio de 2018.

Al error se le ha asignado un nivel de gravedad de 7,8 en una escala del 1 al 10, que se considera "alto" (9 y más se considera "crítico"). El problema fue causado por "nodos remotos" que no pudieron borrar las transacciones inválidas de su memoria, dijo Khan.

Si no se cancelan dichas transacciones, podría producirse un ataque que cargue el nodo víctima con datos obsoletos en lo que se conoce como "consumo de recursos incontrolado", lo que eventualmente provocaría el cierre del nodo, indica el documento.

Las soluciones de Capa 2 (L2) como Lightning Network, el sistema de pago experimental construido en la cadena de bloques de Bitcoin, estaban en riesgo de este error. Los nodos completos de Bitcoin, por otro lado, no se arriesgaban a perder fondos.

No se han revelado intentos de explotar el problema, escribieron Khan y Fuller. La vulnerabilidad no se ha divulgado públicamente durante más de dos años, ya que los operadores de nodos tardaron más de lo esperado en actualizarse, dijo Fuller.

Aunque el error se ha corregido, su divulgación destaca las dificultades de construir un estándar monetario global en lenguajes de programación hechos por humanos, sin mencionar las altas barreras técnicas para desarrollar la criptomoneda más grande del mundo.

El problema en el código se insertó en Bitcoin Core en noviembre de 2017. Aproximadamente el 50% de los nodos de Bitcoin en ese momento estaban potencialmente expuestos a un ataque, según el documento. Las versiones anteriores de Bitcoin Core no han experimentado este tipo de problema.

No solo Bitcoin Core

Khan dijo que la vulnerabilidad podría haber permitido a un atacante robar fondos de nodos que tenían canales abiertos en Lightning. Las versiones 0.16.0 y 0.16.1 de Bitcoin Core fueron analizadas y corregidas por el desarrollador Matt Corallo luego de la divulgación de Fuller al equipo Core en julio de 2018.

Bitcoin Core es la implementación de referencia, o versión estándar, del software de red del que derivan muchos otros. Según el documento, el error también podría haber involucrado varias otras implementaciones de Bitcoin y sus derivados:

  • Bitcoin Nudos v0.16.0
  • Todas las versiones beta de Bcoin hasta v1.0.0-pre
  • Todas las versiones de Btcd hasta v0.20.1-beta
  • Litecoin Núcleo v0.16.0
  • Namecoin Núcleo v0.16.1
  • Todas las versiones de Dcrd hasta v1.5.1.

Todas estas implementaciones han sido parcheadas.