A equipe do Bitcoin Core divulgou em 28 de outubro três vulnerabilidades encontradas por meio de varredura automatizada de código com um modelo de linguagem de grande porte. Uma falha de gravidade média poderia permitir que um atacante remoto derrubasse nós em Windows, macOS e BSD ao provocar crescimento ilimitado de memória.
Correções foram lançadas nas versões 29.5, 30.4, 31.2 e 32.1 do Bitcoin Core, juntamente com uma política de divulgação revisada para bugs que a IA consegue detectar facilmente.
A equipe do Bitcoin Core divulgou em 28 de outubro três vulnerabilidades identificadas por meio de varredura automatizada de código com um modelo de linguagem de grande porte. As falhas poderiam aumentar o uso de memória dos nós ou derrubá-los, levando os desenvolvedores a emitir correções para todas as principais versões suportadas e a alterar suas regras de divulgação.
Um analisador automatizado identificou as três vulnerabilidades como parte do Project Loupe, que Elias Rohrer está desenvolvendo na Spiral. O desenvolvedor Gregory Sanders revisou as descobertas antes de elas serem enviadas à equipe de segurança do Bitcoin Core.
Três vulnerabilidades que afetam nós do Bitcoin Core
A primeira vulnerabilidade, reportada em 23 de outubro, afetava o tratamento de dados TCP urgentes em sistemas que não usam Linux. Um atacante conectado poderia enviar dados especialmente elaborados que contornassem os limites de tamanho da fila de mensagens e causassem crescimento ilimitado de memória, potencialmente derrubando nós do Bitcoin Core executados em Windows, macOS e BSD.
Os desenvolvedores classificaram a vulnerabilidade como de gravidade média. Nós Linux não foram afetados porque usam um mecanismo diferente para monitorar conexões de rede.
A segunda falha também causava acúmulo descontrolado de dados na memória. Um nó conectado poderia alegar usar uma versão desatualizada do protocolo e atrasar o processamento de mensagens. Segundo o aviso do Bitcoin Core, o uso de memória poderia aumentar em até 2 megabytes por hora para cada conexão de entrada e 5 megabytes por hora para cada conexão de saída.
O scanner automatizado detectou a segunda vulnerabilidade em 15 de setembro. Outro desenvolvedor a encontrou de forma independente em 21 de setembro.
A terceira vulnerabilidade, classificada como de baixa gravidade, afetava arquivos que armazenam dados necessários para reorganizações da blockchain. Mineradores poderiam criar blocos que levassem esses arquivos de desfazimento a exceder sua capacidade. Se uma reorganização correspondente ocorresse posteriormente, alguns nós poderiam falhar.
Em sistemas de 64 bits, explorar a falha exigiria recursos substanciais. Os desenvolvedores estimaram que a preparação de um ataque poderia exigir cerca de um mês de mineração de blocos por toda a rede. Em sistemas Windows e de 32 bits, uma falha poderia ocorrer sem essa reorganização, e o aviso oficial afirmou que reiniciar o nó não resolveria o problema.
A correção não elimina totalmente o problema em sistemas de 32 bits ou em nós que armazenam blocos em unidades mais antigas que usam o sistema de arquivos FAT32. Nos demais casos, os desenvolvedores resolveram a vulnerabilidade em parte ao mudar para inteiros de 64 bits para armazenar posições de arquivos.
Desenvolvedores revisam política de divulgação
Os desenvolvedores lançaram correções nas versões 29.5, 30.4, 31.2 e 32.1 do Bitcoin Core. As versões 31.2 e 32.1 ficaram disponíveis em 27 de outubro, seguidas pelas versões 29.5 e 30.4 em 28 de outubro. Os detalhes das vulnerabilidades foram publicados em 28 de outubro.
O Bitcoin Core havia permitido anteriormente que vulnerabilidades de gravidade média permanecessem sem divulgação por até um ano, dando aos operadores de nós tempo para atualizar. Em 22 de outubro, o projeto alterou sua política para vulnerabilidades que podem ser descobertas rapidamente com um LLM.
Segundo a nova política, os desenvolvedores devem preparar correções para todas as principais versões suportadas o mais rapidamente possível quando uma vulnerabilidade for considerada fácil de descobrir. Eles publicarão o aviso relacionado assim que essas correções estiverem disponíveis, em vez de esperar o término do período padrão de embargo.
Outras vulnerabilidades continuam sujeitas ao cronograma usual de divulgação. O Bitcoin Core publica detalhes de bugs de baixa gravidade duas semanas após o lançamento da versão principal que contém a correção. O projeto divulga vulnerabilidades de gravidade média e alta duas semanas depois que a versão afetada mais recente chega ao fim de seu ciclo de vida.
As notas de lançamento do Bitcoin Core também afirmaram que os desenvolvedores planejavam divulgar, em duas semanas, três vulnerabilidades adicionais de gravidade média e alta corrigidas na versão 30.0.
Fonte: HODL Press
