Agregador Dexible é hackeado em US$ 2 milhões por meio da função ‘selfSwap’

A função com bugs pretendia permitir que os usuários fornecessem suas próprias informações de roteamento, mas o código não limitava os roteadores a uma lista pré-aprovada.

O agregador de exchange multichain Dexible foi atingido por um exploit e, como resultado, foram perdidos $ 2 milhões em criptomoedas, de acordo com um relatório de incidente de 17 de fevereiro divulgado pela equipe no Discord oficial do projeto.

A partir das 18h35 UTC de 17 de fevereiro, o front-end do Dexible mostra um aviso pop-up sobre o hack sempre que os usuários navegam até ele.

Às 6h17 UTC, a equipe informou que havia descoberto “um potencial hack nos contratos Dexible v2” e estava investigando o problema. Aproximadamente nove horas depois, divulgou uma segunda declaração de que naquele momento sabia que “US$ 2.047.635,17 foram explorados de 17 endereços de traders. 4 na mainnet, 13 no arbitrum.”

Um relatório de incidente foi emitido às 16:00 UTC como um arquivo PDF e divulgado no Discord, e a equipe disse que estava “trabalhando ativamente em um plano de remediação”.

No relatório, a equipe afirma que percebeu que algo estava errado quando um de seus fundadores teve US$ 50.000 em criptomoedas retirados de sua carteira por motivos desconhecidos na ocasião. Depois de investigar, a equipe descobriu que um invasor havia usado a função selfSwap do aplicativo para mover mais de US$ 2 milhões em criptomoedas de usuários que haviam autorizado anteriormente o aplicativo a mover seus tokens.

A função selfSwap permitia que os usuários fornecessem o endereço de um roteador e os dados de chamada associados a ele para fazer a troca de um token por outro. No entanto, não havia uma lista de roteadores pré-aprovados no código. Portanto, o invasor usou essa função para rotear uma transação do Dexible para cada contrato de token, movendo os tokens dos usuários de suas carteiras para o próprio contrato inteligente do invasor. Como essas transações maliciosas vinham do Dexible, que os usuários já haviam autorizado a gastar seus tokens, os contratos de token não bloqueavam as transações.

Depois de receber os tokens em seu próprio contrato inteligente, o invasor retirou as moedas por meio do Tornado Cash em carteiras BNB desconhecido (BNB) desconhecidas.

A Dexible interrompeu seus contratos e orientou os usuários a revogar as autorizações de token para eles.

A prática comum de autorizar aprovações de token para grandes quantias às vezes leva a perdas para usuários de criptomoedas devido a contratos mal-intencionados ou totalmente maliciosos, levando alguns especialistas a alertar os usuários para revogar aprovações regularmente. Os front-ends para a maioria dos aplicativos Web3 não permitem diretamente que os usuários editem a quantidade de tokens aprovados, portanto, os usuários geralmente perdem o saldo total de seus tokens se um aplicativo apresentar uma falha de segurança. A MetaMask e outras carteiras tentaram corrigir esse problema, permitindo que os usuários editassem as aprovações de token na etapa de confirmação da carteira, mas muitos usuários de criptografia ainda desconhecem o risco de não usar esse recurso.

Você pode gostar...