Besu corrige cinco falhas apontadas pela CertiK

O Besu publicou, em 14 de agosto, quatro comunicados sobre cinco vulnerabilidades identificadas pela CertiK. Os documentos detalharam falhas em diferentes interfaces do cliente Ethereum. Contudo, o projeto já havia corrigido os problemas na versão 26.7.1, lançada em 27 de julho.

As vulnerabilidades afetavam interfaces ponto a ponto, RPC, WebSocket e componentes ligados ao consenso. Dependendo da configuração, elas poderiam esgotar a memória ou as threads disponíveis. Como resultado, os problemas poderiam interromper a disponibilidade dos nós ou o processamento de consenso.

Atualização de segurança chegou antes dos comunicados

Em 27 de julho, o Besu lançou a versão 26.7.1 como uma atualização de segurança. Na ocasião, o projeto recomendou que os operadores migrassem para a nova edição. Dessa maneira, os usuários puderam instalar as correções antes da divulgação dos detalhes técnicos.

As notas da versão creditam a CertiK e a EF Security pelas divulgações responsáveis. Além das cinco descobertas da CertiK, a edição solucionou outros problemas de segurança. A atualização também estabeleceu limites para filtros JSON-RPC e assinaturas WebSocket.

Esses controles impediram o crescimento ilimitado do consumo de recursos nessas interfaces. Somente em 14 de agosto o Besu publicou os quatro comunicados que abrangiam as cinco falhas. Essa sequência reduziu a exposição aos detalhes técnicos antes da disponibilização das correções.

Testes identificaram riscos para os recursos dos nós

A CertiK comunicou as cinco descobertas diretamente à equipe do Besu. Além disso, os pesquisadores forneceram estruturas reproduzíveis para testes de prova de conceito. Durante a análise, as equipes trabalharam de forma confidencial na avaliação e na correção dos problemas.

A empresa encontrou as vulnerabilidades durante pesquisas independentes com sua metodologia de testes adversariais Chain Scan. Para isso, montou uma rede privada do Besu com vários nós. Em seguida, testou as interfaces ponto a ponto, HTTP RPC, WebSocket RPC e os componentes relacionados ao consenso.

Falhas atingiam consenso e conexões remotas

Segundo a CertiK, a pesquisa não teve escopo comercial. A empresa classificou a gravidade das cinco descobertas entre baixa e alta. As áreas afetadas incluíam anúncios de blocos, propostas de consenso, assinaturas WebSocket e filtros JSON-RPC.

Uma das falhas envolvia o armazenamento temporário de propostas de consenso para alturas futuras. Outros problemas permitiam assinaturas WebSocket ou filtros JSON-RPC sem limites efetivos. Assim, solicitações e mensagens maliciosas poderiam ampliar o consumo de memória ou threads.

Esses componentes controlam como o nó processa mensagens de rede, solicitações remotas, assinaturas e dados de consenso. Em configurações específicas, a pressão sobre os recursos poderia reduzir a disponibilidade do nó. Consequentemente, o processamento de consenso também poderia sofrer interrupções.

Comunicados registram as cinco correções

Os comunicados criaram um registro público das vulnerabilidades e das medidas adotadas pelo projeto. Cada documento identifica a versão 26.7.1 como a edição corrigida. Portanto, os operadores que ainda utilizam versões anteriores precisam considerar a atualização recomendada pelo Besu.

O Besu é um cliente Ethereum de código aberto, escrito em Java e licenciado sob a Apache 2.0. Na Ethereum Mainnet e nas redes de teste, ele funciona como cliente de execução. O software também oferece suporte a redes privadas empresariais.

Entre seus recursos estão uma interface de linha de comando, uma API JSON-RPC e uma API para plugins. Por sua vez, a CertiK foi fundada em 2017 por professores das universidades Yale e Columbia. A empresa afirma ter identificado mais de 119 mil vulnerabilidades e protegido mais de US$ 600 bilhões em ativos digitais.