▼ Bear
Impacto
80 · Alto
Vulnerabilidade no CryptoJS permite prever chaves de carteiras, resultando em perdas de 5,69 milhões de dólares
BTCETHTRXMATIC
CryptoSlate · Aug 27, 04:48 PMVer fonte ↗
A empresa de segurança em blockchain, Coinspect, anunciou que pelo menos 5 aplicativos de carteiras de criptomoedas utilizaram um gerador de números aleatórios vulnerável da biblioteca CryptoJS para gerar frases de recuperação (seeds), o que permitiu que atacantes rastreassem essas frases e roubassem pelo menos 5,69 milhões de dólares. Esse valor representa um limite inferior, restrito aos casos rastreados, e os danos reais podem ser maiores.
A vulnerabilidade em questão foi introduzida através do commit ff1f003, durante uma tentativa de melhoria da função WordArray.random() da biblioteca CryptoJS em junho de 2014. Essa implementação reduziu drasticamente o espaço de busca de possíveis sequências de recuperação, que teoricamente deveria ser de 2^128 ou 2^256, para um nível de aproximadamente 2^39 a 2^47. Com essa magnitude, torna-se realisticamente possível para um atacante enumerar as possíveis sequências, derivar os endereços de blockchain e verificar os saldos.
O ataque ocorreu em várias ondas. De acordo com a Coinspect, em 27 de maio, aproximadamente 3,14 milhões de dólares foram roubados, e entre 30 de maio e 13 de julho, cerca de 2,55 milhões de dólares. Adicionalmente, entre 20 e 21 de julho, aproximadamente 40 mil dólares foram desviados de um subconjunto de mnônicos em chinês. A análise envolveu mais de 2.000 chaves (seeds) distribuídas em cinco redes: Bitcoin, Ethereum, Tron, Rootstock e Polygon.
Os aplicativos afetados são RRWallet, Bexo Wallet, NanChat, Bitcoin Libre e Milo, sendo que RRWallet e Milo já tiveram seus serviços encerrados. Bexo corrigiu o caminho de geração de números aleatórios problemático na versão 20.1.0, NanChat na versão 1.3.0 e Bitcoin Libre na versão 4. A NanChat notificou separadamente os usuários que criaram suas carteiras antes da versão 1.3.0, informando que essas carteiras seriam consideradas comprometidas e que deveriam ser transferidas para uma nova carteira gerada com uma nova frase de recuperação.
A principal observação é que as frases de recuperação geradas de forma vulnerável não podem ser resolvidas simplesmente atualizando o aplicativo ou importando a mesma frase para outra carteira de software ou hardware. Isso ocorre porque a vulnerabilidade está relacionada à versão do software utilizada no momento em que a frase foi gerada, e não ao próprio aplicativo. A Coinspect lançou uma ferramenta chamada "Unlukey" que permite aos usuários verificar se seus endereços estão incluídos em um conjunto de dados de vítimas conhecidas, e enfatiza que, caso a vítima seja confirmada, a única solução é gerar uma nova frase de recuperação de forma segura e transferir os fundos.
Conteúdo resumido por IA. Leia a matéria completa na fonte.