Uma conexão basta para derrubar um nó do Bitcoin no Windows ou no macOS
O Bitcoin Core divulgou nesta quarta-feira três falhas de segurança e publicou as versões que as corrigem. Duas delas pedem apenas uma conexão com o nó para tirá-lo do ar, e a mais direta atinge qualquer máquina rodando Windows, macOS ou BSD. Em Linux, esse problema específico não existe.
As correções saíram em quatro versões. A 32.1 foi publicada na terça, e a 31.2, a 30.4 e a 29.5 na quarta, junto com os alertas. A linha 29 saiu de suporte no mesmo dia, por causa do lançamento da 32, então a 29.5 é a última atualização que ela recebe.
A memória enche antes de o nó reagir
O defeito mais direto está no controle de fluxo entre o nó e os outros computadores da rede. O programa aceita de cada par um volume limitado de dados por vez e pausa a leitura quando passa disso, uma proteção que segura o atacante em Linux. Fora do Linux, o programa vigia as conexões por um mecanismo mais antigo do sistema operacional, e esse mecanismo continua lendo a conexão mesmo com a leitura pausada.
O gatilho é o sinal de urgência do TCP. Enviado na hora certa, ele fura o limite e enfileira dados até a máquina ficar sem memória. O texto do alerta mede o alcance. Em Windows, macOS e BSD, uma conexão mal-intencionada basta para derrubar o nó.
A segunda falha é mais lenta e termina no mesmo lugar. O nó mantém uma fila de avisos de transações para os pares, inclusive para os que estão pausados. Quem não responde a um teste de conexão em até 20 minutos é desconectado, mas a checagem não vale para pares que se declaram incompatíveis com o ping numerado do BIP 31. Um atacante que usa essa brecha fica pausado para sempre e segue recebendo avisos. O consumo sobe cerca de 2 MB por hora em cada conexão de entrada e 5 MB por hora em cada conexão de saída.
A terceira mexe nos arquivos onde o nó guarda o que precisa para desfazer um bloco em uma reorganização da cadeia. Nada limitava o tamanho desses arquivos, e a posição dentro deles era gravada em 32 bits. Um minerador conseguiria empilhar blocos com volume anômalo desses dados até o arquivo passar de 4 GiB. Dali em diante, o que já estava gravado é sobrescrito. Quando a reorganização chega, o nó lê o arquivo corrompido, não consegue desfazer o bloco e desliga. Reiniciar não resolve. O caminho é reprocessar a cadeia inteira com a versão corrigida.
Nenhuma moeda sai do lugar
As três falhas derrubam o programa ou travam sua operação. Nenhuma permite mover moedas de outra pessoa nem abrir a chave privada de uma carteira. O prejuízo fica no serviço, com nó fora do ar e operador obrigado a reiniciar a máquina na mão, e chega de forma indireta a quem usa exchange, carteira ou custodiante que roda Bitcoin Core por trás.
A IA achou em três dias
As três descobertas vieram do Project Loupe, um scanner de vulnerabilidades criado pela Spiral e pela Block que usa inteligência artificial na caça a falhas. O responsável é Elias Rohrer. Loupe reportou a falha dos arquivos de reorganização em 8 de julho, a dos pares pausados em 15 de setembro e a do TCP urgente em 23 de outubro. O desenvolvedor Gregory Sanders validou os relatos e os repassou para o grupo que cuida da segurança no Bitcoin Core.
Da última descoberta à correção passaram três dias. Antoine Poinsot abriu os três consertos em 26 de outubro, todos foram integrados no mesmo dia e replicados nas quatro linhas mantidas. Duas das três falhas também foram encontradas de forma independente por outros pesquisadores, e o alerta registra o nome de cada um.
A pressa tem explicação. Em 22 de outubro, a política de divulgação do Bitcoin Core mudou, em um texto assinado por Poinsot. Falhas que qualquer pessoa encontra com um pedido simples a um modelo de linguagem ganharam uma classificação própria, a de fácil descoberta. Para elas, o projeto passou a publicar a correção em todas as versões mantidas e o alerta no mesmo instante, sem o prazo normal, que chegava a um ano nos casos de severidade média. O texto reconhece que o sigilo longo faz sentido em um projeto de atualização lenta, e que, para essas falhas, o prazo só atrasa a entrega da versão corrigida.
O uso de IA para caçar falhas já tinha virado notícia no ecossistema em agosto, quando um mutirão de voluntários munido de modelos de linguagem encontrou 85 falhas críticas em 390 projetos de código aberto.
Quem ainda fica exposto
A atualização resolve as duas falhas de severidade média em qualquer máquina. A terceira continua valendo em dois casos. Nós em máquinas de 32 bits seguem com um teto de 2 GiB para posicionar o arquivo, e nós que guardam os blocos em um disco FAT32 seguem batendo no limite de 4 GiB do sistema de arquivos. Nesses dois, depois que o arquivo passa do limite, o nó desliga a cada reinício.
Junto com essas correções, a 32.1 traz os consertos de três outras falhas, essas mantidas sob sigilo, que serão detalhadas em duas semanas pelo processo normal do projeto. Quem opera nó em qualquer versão anterior precisa baixar a 32.1 no site do Bitcoin Core. Quem só guarda bitcoin em carteira não depende dessa atualização.
⚠️ Aviso importante
As informações aqui descritas refletem pesquisas realizadas pelo LaboNews e não devem ser consideradas recomendação de investimento ou endosso de segurança sobre ferramentas ou links externos. Recomendamos que, ao investir ou utilizar ferramentas de terceiros, você faça sua própria pesquisa sobre a segurança e os riscos envolvidos.