Poolz sofre ataque de vulnerabilidade de estouro aritmético, com perdas de 665 mil dólares
Recentemente, um ataque à plataforma de cross-chain Poolz chamou a atenção da indústria. Os atacantes exploraram uma vulnerabilidade de estouro aritmético em contratos inteligentes, conseguindo roubar uma grande quantidade de tokens de várias redes, como Ethereum, BNB Chain e Polygon, resultando em perdas estimadas em cerca de 665 mil dólares.
De acordo com os dados on-chain, o ataque ocorreu na madrugada de 15 de março de 2023. Os atacantes obtiveram vários tokens, incluindo MEE, ESNC, DON, ASW, KMON, POOLZ, entre outros. Atualmente, parte dos fundos roubados já foi trocada por BNB, mas ainda não foram transferidos para outros endereços.
Os atacantes exploraram principalmente a vulnerabilidade da função CreateMassPools no contrato inteligente Poolz. Esta função permite que os usuários criem em massa pools de liquidez e forneçam liquidez inicial. O problema reside na função getArraySum, que é usada para calcular a quantidade de tokens enviados. Os atacantes, através de dados de entrada cuidadosamente elaborados, fizeram com que o resultado da soma excedesse o intervalo do tipo uint256, resultando em um estouro que fez com que o valor retornado se tornasse 1.
Essa sobrecarga aritmética permite que o atacante simplesmente transfira 1 token para registrar uma enorme liquidez no sistema que ultrapassa em muito a quantidade real. Em seguida, o atacante facilmente retirou uma grande quantidade de tokens não autorizados chamando a função withdraw.
Para evitar que eventos semelhantes ocorram novamente, especialistas em segurança recomendam que os desenvolvedores utilizem versões mais recentes do Solidity para a compilação de contratos, pois as novas versões realizam automaticamente a verificação de estouro. Para projetos que utilizam versões mais antigas do Solidity, pode-se considerar a introdução da biblioteca SafeMath da OpenZeppelin para resolver problemas de estouro de inteiros.
Este evento destaca novamente a importância da auditoria de segurança de contratos inteligentes, especialmente ao lidar com cálculos de grandes valores, onde é necessário ter um cuidado extra. Para projetos DeFi, testes de segurança abrangentes e revisões de código regulares são medidas-chave para garantir a segurança dos fundos dos usuários.
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
14 gostos
Recompensa
14
6
Partilhar
Comentar
0/400
LonelyAnchorman
· 23h atrás
Mais um velho projeto que falhou.
Ver originalResponder0
WalletDivorcer
· 23h atrás
Isto é muito curto, não é?
Ver originalResponder0
HodlNerd
· 23h atrás
estatisticamente falando, esses bugs de overflow estão se tornando previsíveis... precisamos de uma melhor análise de teoria dos jogos, para ser sincero
Poolz sofre ataque de estouro aritmético com perdas de 66,5 mil dólares em várias cadeias
Poolz sofre ataque de vulnerabilidade de estouro aritmético, com perdas de 665 mil dólares
Recentemente, um ataque à plataforma de cross-chain Poolz chamou a atenção da indústria. Os atacantes exploraram uma vulnerabilidade de estouro aritmético em contratos inteligentes, conseguindo roubar uma grande quantidade de tokens de várias redes, como Ethereum, BNB Chain e Polygon, resultando em perdas estimadas em cerca de 665 mil dólares.
De acordo com os dados on-chain, o ataque ocorreu na madrugada de 15 de março de 2023. Os atacantes obtiveram vários tokens, incluindo MEE, ESNC, DON, ASW, KMON, POOLZ, entre outros. Atualmente, parte dos fundos roubados já foi trocada por BNB, mas ainda não foram transferidos para outros endereços.
Os atacantes exploraram principalmente a vulnerabilidade da função CreateMassPools no contrato inteligente Poolz. Esta função permite que os usuários criem em massa pools de liquidez e forneçam liquidez inicial. O problema reside na função getArraySum, que é usada para calcular a quantidade de tokens enviados. Os atacantes, através de dados de entrada cuidadosamente elaborados, fizeram com que o resultado da soma excedesse o intervalo do tipo uint256, resultando em um estouro que fez com que o valor retornado se tornasse 1.
Essa sobrecarga aritmética permite que o atacante simplesmente transfira 1 token para registrar uma enorme liquidez no sistema que ultrapassa em muito a quantidade real. Em seguida, o atacante facilmente retirou uma grande quantidade de tokens não autorizados chamando a função withdraw.
Para evitar que eventos semelhantes ocorram novamente, especialistas em segurança recomendam que os desenvolvedores utilizem versões mais recentes do Solidity para a compilação de contratos, pois as novas versões realizam automaticamente a verificação de estouro. Para projetos que utilizam versões mais antigas do Solidity, pode-se considerar a introdução da biblioteca SafeMath da OpenZeppelin para resolver problemas de estouro de inteiros.
Este evento destaca novamente a importância da auditoria de segurança de contratos inteligentes, especialmente ao lidar com cálculos de grandes valores, onde é necessário ter um cuidado extra. Para projetos DeFi, testes de segurança abrangentes e revisões de código regulares são medidas-chave para garantir a segurança dos fundos dos usuários.