A Cosmos Labs revelou na sexta-feira que uma falha na Cosmos EVM, a stack partilhada que permite às cadeias Cosmos executar aplicações estilo Ethereum, permitiu que atacantes desviassem aproximadamente $5,7 milhões de seis redes blockchain entre 20 e 25 de agosto. A empresa reconheceu que um investigador tinha reportado a falha através do seu programa de recompensas de bugs a 25 de abril, mas que os testadores da Cosmos Labs não conseguiram reproduzir o ataque contra configurações de mainnet ativas e concluíram que os fundos dos utilizadores não estavam em risco, distribuindo a correção através do seu processo de patch silencioso em vez de uma distribuição privada de segurança.
Porquê é importante
O exploit depende de uma falha de integer-underflow. Ao delegar mais tokens do que uma conta detinha e depois inverter a aritmética, o atacante envolveu um saldo para lá do zero até 2^256-1, um número com 78 dígitos, inflou uma conta-alvo ao contrário e saiu com os seus tokens, tudo isto enquanto o supply total permanecia inalterado. O aviso da Cosmos Labs, classificado como crítico, abrange as versões da Cosmos EVM anteriores à v0.6.2 e à v0.7.2 e afeta todas as implementações da Cosmos EVM que ainda não tinham migrado para as versões corrigidas quando a alteração pública ao código foi publicada.
A cadeia de falhas de divulgação é invulgarmente detalhada. Um patch foi integrado em maio sob o processo silencioso, depois às 19:01 ET de 19 de agosto a Cosmos Labs lançou a v0.6.2 e a v0.7.2, com notas de versão a referenciar correções de segurança "importantes". Cerca de 20 horas depois ocorreu o primeiro ataque. A análise post-mortem da MANTRA é direta: "Vinte horas não foi uma janela realista para avaliar, construir, testar e coordenar uma atualização disruptiva entre 38 validadores independentes." Cerca de 12 horas antes do primeiro roubo, um programador da Push Chain submeteu publicamente uma alteração de código descrevendo o caminho do exploit, uma divulgação que a Cosmos Labs classificou como "altamente invulgar".
Impacto no mercado
A MANTRA perdeu 720,9 milhões de tokens MANTRA, que valiam então cerca de $3,6 milhões, desviados da sua burn address e de uma carteira multisig inativa, e o seu reporte de supply subiu no mesmo montante porque esses saldos tinham sido excluídos como não gastáveis. A cadeia parou cerca de quatro horas após o primeiro roubo e retomou aproximadamente 30 horas depois com o software corrigido, sem um rollback, congelando cerca de 38 milhões de MANTRA que ainda estavam na carteira do atacante. A MANTRA foi negociada perto dos $0,0043 durante o fim de semana, em queda de cerca de 70% desde o início do ano, e tinha estado a passar por uma reestruturação interrompida por um acordo de aquisição com o investidor Inveniam.
A TAC perdeu quase 3 mil milhões de tokens a 22 de agosto, dos quais cerca de 1,2 mil milhões foram trocados na BNB Chain por aproximadamente $950.000.
Perguntas frequentes
-
Que falha permitiu ao atacante desviar fundos em seis cadeias Cosmos EVM?
Uma falha de integer-underflow na Cosmos EVM. Delegar mais tokens do que uma conta detinha e depois executar a aritmética ao contrário envolveu um saldo para lá do zero até 2^256-1 e permitiu ao atacante sair com os tokens de uma conta-alvo enquanto o supply total permanecia inalterado.
-
Quanto foi roubado e quais as cadeias afetadas?
A Cosmos Labs aponta perdas totais de cerca de $5,7 milhões em seis redes. As vítimas identificadas incluem MANTRA (~$3,6M), TAC (~$950K liquidados mais tokens por vender) e KiiChain (~$1,6M liquidados). Uma cadeia adicional é provavelmente a Nesa; as outras duas permanecem não identificadas.
-
Por que razão o processo de recompensas de bugs da Cosmos Labs falhou em impedir o exploit?
Um investigador reportou a falha através do programa de recompensas de bugs da Cosmos a 25 de abril. Os testadores da Cosmos Labs disseram que não conseguiam reproduzi-la contra configurações de mainnet ativas e concluíram que os fundos dos utilizadores não estavam em risco, pelo que a correção saiu através do seu…
-
O que desencadeou os ataques depois de o patch ter sido distribuído?
A Cosmos Labs lançou a v0.6.2 e a v0.7.2 às 19:01 ET de 19 de agosto com notas de versão genéricas. Cerca de 12 horas depois, um programador da Push Chain submeteu publicamente uma alteração de código descrevendo o caminho do exploit, e cerca de 20 horas após o patch começou o primeiro ataque.
-
Quais são as consequências mais amplas para o ecossistema Cosmos?
A MANTRA está a ser negociada perto dos $0,0043, em queda de cerca de 70% desde o início do ano, e continua a gerir uma reestruturação de pessoal e uma aquisição pelo investidor Inveniam. A Cosmos Labs admitiu que não mantém um registo completo das mais de 115 blockchains Cosmos públicas e descobriu 11 implementações…
TheBlock