Desenvolvedores do Bitcoin Core divulgaram na última quarta-feira (18) uma vulnerabilidade crítica que afeta todos os full nodes antes da versão 24.0.1. Segundo estimativas, cerca de 19,6% das carteiras estariam em risco.
A divulgação faz parte de uma mudança na política que começou em junho deste ano. Antes disso, não existia nenhuma comunicação, nem mesmo sobre correções de falhas críticas.
O custo para explorar essa falha estaria próximo à faixa de US$ 1,5 milhão, na data do estudo. Mesmo caro, poderia ser executado por quem tivesse incentivo para isso.
Vulnerabilidade crítica não teria retorno financeiro, mas pode ser usado para derrubar full nodes
A vulnerabilidade em questão está ligada a um ataque de negação de serviços (DoS) em versões anteriores a 24.0.1. A falha foi detalhada ainda em 2019 por Braydon Fuller e outros especialistas.
Em suma, um ator malicioso poderia fazer um spam de dados de cabeçalhos desnecessários até a máquina travar.
“Os ataques utilizam recursos desprotegidos para realizar uma negação de serviço, enchendo o disco e esgotando a CPU com dados desnecessários de cabeçalhos e blocos”, escreveu Fuller. “Isso força o nó a interromper sua operação.”
“A dificuldade do ataque varia de difícil a fácil. Atualmente, existem proteções limitadas para alguns dos ataques que exigem que checkpoints estejam habilitados.”
Segundo o texto, o custo do ataque poderia chegar a US$ 1,5 milhão, dependendo da duração e outros fatores.
O ataque não teria incentivos financeiros. No entanto, afetaria todos os full nodes e poderia representar um grande problema para a rede na época.
Atualmente, 19,6% dos full nodes ainda rodam versões com essa vulnerabilidade.
Falha foi corrigida há dois anos
A documento revela que a falha foi corrigida em outubro de 2022, há quase dois anos. Tais divulgações não são feitas imediatamente, permitindo que os usuários tenham tempo de sobra para atualizar seus clientes.
“O PR #26355 de Niklas Gögge foi incorporado, corrigindo um bug na etapa de pré-sincronização dos cabeçalhos que havia sido introduzido no PR #25717”, apontam os desenvolvedores. “Sem essa correção, ainda seria possível realizar spam de cabeçalhos de blocos.”
“A descoberta desse bug, e a possibilidade de haver outros ainda não descobertos, é a razão pela qual os checkpoints antigos ainda não foram completamente removidos.”
Embora cada usuário possa utilizar a versão que deseja, a publicação dessas vulnerabilidades encoraja atualizações, seja para a versão mais recente ou outro não tão antiga.