Um bug crítico que poderia gerar um prejuízo de R$ 1,8 bilhão à exchange descentralizada SushiSwap foi identificado e resolvido em cinco horas por um white hat, como são conhecidos os hackers do bem.
Samczsun, especialista de segurança da Paradigm, encontrou a falha em um contrato da MISU, a plataforma de arrecadação de fundos da SushiSwap. Ele relatou o caso no blog da empresa na terça-feira (17).
O projeto confirmou que o bug permitiria que qualquer sujeito mal-intencionado drenasse todos os fundos confiados no contrato. Naquela ocasião, havia 109 mil Ethereum (ETH) no código, o equivalente a cerca de US$ 350 milhões (R$ 1,8 bilhão).
Descoberto por acaso
Samczsun disse que foi analisar o código mais por curiosidade do que pela expectativa de encontrar uma vulnerabilidade. “Não esperava que a equipe do Sushi cometeria um erro tão óbvio”, escreveu.
O bug foi encontrado no contrato inteligente de um ‘leilão holandês’ de tokens BitDAO (BIT) que estava acontecendo na plataforma MISO.
Nesse tipo de oferta pública, um investidor faz um lance com o valor máximo que está disposto a pagar pela moeda. Quando o lance mais alto ganha a oferta, todos os tokens oferecidos nos lances perdedores voltam para os detentores.
De forma geral, era o mecanismo de reembolso do contrato que possuía um erro que dava brecha para que os usuários tivessem um reembolso maior do que o lance oferecido. O problema é que o bug poderia ser explorado repetidas vezes até que todos os fundos fossem drenados.
Ao encontrar a falha, Samczsun chamou Georgios Konstantopoulos e Daniel Robinson, seus colegas da Paradigm, para resolver o problema e contatar a equipe da SushiSwap.
Encerramento do leilão
A SushiSwap decidiu encerrar manualmente o leilão de tokens para que nenhum dinheiro fosse perdido, bem como interromper temporariamente o uso do leilão holandês na MISO para que o contrato inteligente seja reformulado com mais segurança.
“A vulnerabilidade potencial gira em torno da função commitETH no leilão holandês Miso. Combinar lote com commitETH cria um problema duplo em que um usuário pode colocar um lance maior do que msg.value, drenando assim todos os tokens não vendidos e, adicionalmente, drenando os fundos arrecadados no contrato como reembolso”, explicou o projeto.
Não está claro se os desenvolvedores que encontraram o bug receberam uma recompensa. De acordo o Immunefi, uma plataforma de segurança que divulga programas de Bug Bounty, o SushiSwap oferece atualmente um bônus de até US$ 1,2 milhão para quem encontrar um bug crítico em seus contratos inteligentes.
Esse caso vem à tona apenas uma semana depois que um invasor roubou US$ 611 milhões da Poly Network e devolveu todos os fundos posteriormente, naquele que foi o maior hack da história do meio DeFi.