Poolz sofreu um ataque de estouro aritmético, resultando em uma perda de 66,5 mil dólares.

robot
Geração de resumo em curso

O projeto Poolz sofreu um ataque de estouro aritmético, resultando em uma perda de aproximadamente 66,5 mil dólares.

Recentemente, um incidente de segurança envolvendo o projeto multichain Poolz chamou a atenção do setor. De acordo com dados de monitoramento de blockchain, os atacantes exploraram uma vulnerabilidade de estouro aritmético em contratos inteligentes, conseguindo roubar uma grande quantidade de tokens do projeto Poolz nas redes Ethereum, BNB Chain e Polygon, com um valor total de cerca de 66,5 mil dólares.

Poolz sofreu um ataque devido a um problema de estouro aritmético, com uma perda de aproximadamente 665K dólares!

O ataque ocorreu às 3h16 UTC do dia 15 de março de 2023. Os ativos roubados incluíam vários tokens ERC-20, como MEE, ESNC, DON, ASW, KMON, POOLZ, entre outros. Os atacantes posteriormente trocaram parte dos tokens por BNB, mas atualmente esses fundos ainda não foram transferidos.

Poolz sofreu um ataque devido a um problema de estouro aritmético, com perdas de cerca de 665K dólares!

O problema central do ataque reside na função CreateMassPools do projeto Poolz. Esta função era originalmente utilizada para criar em massa pools de liquidez e fornecer liquidez inicial, mas a função getArraySum possui uma vulnerabilidade de estouro de inteiros. O atacante, através de parâmetros de entrada cuidadosamente elaborados, fez com que o resultado da soma excedesse o intervalo do uint256, resultando em um valor de retorno da função igual a 1.

Poolz foi atacado devido a um problema de estouro aritmético, com perdas de cerca de 665K dólares!

No entanto, a função CreatePool usou o parâmetro _StartAmount original ao registrar as propriedades da pool, em vez da quantidade real de tokens transferidos. Isso fez com que o atacante precisasse apenas transferir 1 token para registrar uma liquidez inicial muito maior do que a quantidade real. Em seguida, o atacante completou a operação de retirada chamando a função withdraw, conseguindo assim o objetivo do ataque.

Poolz sofreu um ataque devido a um problema de estouro aritmético, com perdas de aproximadamente 665K dólares!

Para evitar que esses problemas ocorram novamente, recomenda-se que os desenvolvedores utilizem versões mais recentes do Solidity para compilar, a fim de aproveitar suas funcionalidades de verificação de estouro integradas. 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 lembra-nos mais uma vez da importância da segurança e da auditoria de código no desenvolvimento de contratos inteligentes. Mesmo um pequeno erro aritmético pode ser explorado por atacantes, resultando em enormes perdas financeiras.

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.
  • Recompensa
  • 5
  • Republicar
  • Partilhar
Comentar
0/400
TrustMeBrovip
· 08-10 11:16
Hehe, é só um trocado. Próximo.
Ver originalResponder0
DeFiAlchemistvip
· 08-10 11:15
*ajusta gráficos místicos* mais um protocolo cai na aritmética obscura... os números nunca mentem
Ver originalResponder0
RooftopReservervip
· 08-10 11:13
É novamente a melhor hora para relaxar no telhado.
Ver originalResponder0
HashBardvip
· 08-10 10:54
smh... mais um dia, mais uma exploração de overflow
Ver originalResponder0
DegenGamblervip
· 08-10 10:53
Mais um contrato foi perfurado por um papel fino.
Ver originalResponder0
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)