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údo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
13 Curtidas
Recompensa
13
6
Compartilhar
Comentário
0/400
LonelyAnchorman
· 13h atrás
Mais um velho projeto que falhou.
Ver originalResponder0
WalletDivorcer
· 13h atrás
Isto é muito curto, não é?
Ver originalResponder0
HodlNerd
· 13h 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.