Bug de alta gravidade no software Bitcoin revelado 2 anos após a correção

Bug de gravidade "alta" no software Bitcoin revelado 2 anos após a correção - bug do Bitcoin CoreUm grande bug no software Bitcoin Core, não deve ser confundido com Sistema Bitcoin, poderia ter permitido que invasores roubassem fundos, atrasassem negócios ou dividissem a rede maior de blockchain em versões conflitantes se ela não tivesse sido consertada secretamente há dois anos.

O bug no código

Um artigo publicado na quarta-feira por Braydon Fuller, engenheiro de protocolo do site de compras de criptografia Purse, e Javed Khan, desenvolvedor sênior do protocolo Handshake, dizem que detectaram a vulnerabilidade em junho de 2018.

O bug foi atribuído a um nível de gravidade de 7,8 em uma escala de 1 a 10, que é considerado "alto" (9 para cima é considerado "crítico"). O problema foi causado por "nós remotos" que não conseguiram limpar transações inválidas de sua memória, disse Khan.

O não cancelamento de tais transações pode levar a um ataque que carrega o nó vítima com dados desatualizados, o que é conhecido como "consumo de recursos não controlado", fazendo com que o nó seja encerrado, afirma o documento.

Soluções de camada 2 (L2), como Lightning Network, o sistema de pagamento experimental construído no blockchain Bitcoin, correram o risco com esse bug. Os nós completos do Bitcoin, por outro lado, não corriam o risco de perder fundos.

Nenhuma tentativa de explorar o problema foi revelada, escreveram Khan e Fuller. A vulnerabilidade não foi divulgada publicamente por mais de dois anos, já que os operadores de nó demoraram mais do que o esperado para atualizar, disse Fuller.

Embora o bug tenha sido corrigido, sua divulgação destaca as dificuldades de construção de um padrão monetário global em linguagens de programação feitas por humanos, sem mencionar as altas barreiras técnicas no desenvolvimento da maior criptomoeda do mundo.

O problema no código foi inserido no Bitcoin Core em novembro de 2017. Cerca de 50% dos nós do Bitcoin na época estavam potencialmente expostos a um ataque, de acordo com o documento. As versões anteriores do Bitcoin Core não tiveram esse tipo de problema.

Não apenas Bitcoin Core

Khan disse que a vulnerabilidade pode ter permitido que um invasor roubasse fundos de nós que tinham canais abertos no Lightning. As versões 0.16.0 e 0.16.1 do Bitcoin Core foram analisadas e corrigidas pelo desenvolvedor Matt Corallo após a divulgação de Fuller para a equipe do Core em julho de 2018.

Bitcoin Core é a implementação de referência, ou versão padrão, do software de rede do qual muitos outros derivam. De acordo com o documento, o bug também pode ter envolvido várias outras implementações do Bitcoin e seus derivados:

  • Nós Bitcoin v0.16.0
  • Todas as versões beta do Bcoin até v1.0.0-pre
  • Todas as versões do Btcd até v0.20.1-beta
  • Litecoin Núcleo v0.16.0
  • Núcleo de Namecoin v0.16.1
  • Todas as versões do Dcrd até v1.5.1.

Todas essas implementações foram corrigidas.