Poolz subit une attaque par dépassement arithmétique, avec une perte d'environ 66,5 milliers de dollars.
Récemment, le projet Poolz sur Ethereum, Binance Smart Chain et le réseau Polygon a été attaqué, entraînant le vol de plusieurs tokens d'une valeur totale d'environ 665 000 dollars. L'attaque a eu lieu le 15 mars 2023 vers 3h16 UTC.
Selon les données on-chain, cette attaque implique plusieurs jetons, notamment MEE, ESNC, DON, ASW, KMON, POOLZ, etc. Les attaquants ont échangé une partie des jetons volés contre des BNB, mais ces fonds n'ont pas encore été transférés.
L'attaque a principalement exploité une vulnérabilité de débordement arithmétique dans le contrat Poolz. Plus précisément, le problème réside dans la fonction getArraySum de la fonction CreateMassPools. Cette fonction, lors du calcul de la liquidité initiale lors de la création en masse de pools par les utilisateurs, a conduit à un débordement d'entier en raison d'une mauvaise gestion des grandes valeurs.
L'attaquant utilise des paramètres d'entrée soigneusement construits pour amener la fonction getArraySum à retourner la valeur 1, alors que la valeur réelle de _StartAmount est un très grand nombre. Ainsi, l'attaquant n'a besoin de transférer qu'un seul jeton pour enregistrer une grande quantité de liquidité initiale dans le système. Par la suite, l'attaquant appelle la fonction withdraw pour extraire cette liquidité "fausse", complétant ainsi l'attaque.
Pour éviter que de tels problèmes ne se reproduisent, les experts recommandent aux développeurs d'utiliser une version plus récente du compilateur Solidity, car les nouvelles versions effectuent automatiquement des vérifications de débordement. Pour les projets utilisant une version inférieure de Solidity, il est possible de considérer l'intégration de la bibliothèque SafeMath d'OpenZeppelin pour gérer les opérations entières, afin d'éviter les risques de débordement.
Cet événement nous rappelle une fois de plus qu'il est crucial de traiter la sécurité des opérations arithmétiques dans le développement de contrats intelligents. Les développeurs doivent rester vigilants face aux problèmes de débordement d'entier potentiels et prendre des mesures appropriées pour protéger la sécurité du contrat.
Voir l'original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
12 J'aime
Récompense
12
7
Partager
Commentaire
0/400
CryptoPunster
· 07-09 19:50
Eh bien, encore un problème avec le contrat ! Ces gens sont pris pour des idiots jusqu'aux sous-vêtements.
Voir l'originalRépondre0
BoredRiceBall
· 07-08 04:48
Encore une série de failles qui ont été découvertes.
Voir l'originalRépondre0
NotFinancialAdviser
· 07-06 20:27
Le montant des pertes n'est pas trop élevé, hein~
Voir l'originalRépondre0
LiquidationSurvivor
· 07-06 20:25
Revoir le projet Naked Running
Voir l'originalRépondre0
SelfSovereignSteve
· 07-06 20:14
Un autre projet d'Airdrop se fait prendre pour des cons, condamné.
Voir l'originalRépondre0
GateUser-e87b21ee
· 07-06 20:12
Un autre projet a échoué.
Voir l'originalRépondre0
VitaliksTwin
· 07-06 20:07
À peine plus de six cent mille, c'est trop conservateur.
Poolz subit une attaque par débordement arithmétique, entraînant une perte de 665 000 dollars.
Poolz subit une attaque par dépassement arithmétique, avec une perte d'environ 66,5 milliers de dollars.
Récemment, le projet Poolz sur Ethereum, Binance Smart Chain et le réseau Polygon a été attaqué, entraînant le vol de plusieurs tokens d'une valeur totale d'environ 665 000 dollars. L'attaque a eu lieu le 15 mars 2023 vers 3h16 UTC.
Selon les données on-chain, cette attaque implique plusieurs jetons, notamment MEE, ESNC, DON, ASW, KMON, POOLZ, etc. Les attaquants ont échangé une partie des jetons volés contre des BNB, mais ces fonds n'ont pas encore été transférés.
L'attaque a principalement exploité une vulnérabilité de débordement arithmétique dans le contrat Poolz. Plus précisément, le problème réside dans la fonction getArraySum de la fonction CreateMassPools. Cette fonction, lors du calcul de la liquidité initiale lors de la création en masse de pools par les utilisateurs, a conduit à un débordement d'entier en raison d'une mauvaise gestion des grandes valeurs.
L'attaquant utilise des paramètres d'entrée soigneusement construits pour amener la fonction getArraySum à retourner la valeur 1, alors que la valeur réelle de _StartAmount est un très grand nombre. Ainsi, l'attaquant n'a besoin de transférer qu'un seul jeton pour enregistrer une grande quantité de liquidité initiale dans le système. Par la suite, l'attaquant appelle la fonction withdraw pour extraire cette liquidité "fausse", complétant ainsi l'attaque.
Pour éviter que de tels problèmes ne se reproduisent, les experts recommandent aux développeurs d'utiliser une version plus récente du compilateur Solidity, car les nouvelles versions effectuent automatiquement des vérifications de débordement. Pour les projets utilisant une version inférieure de Solidity, il est possible de considérer l'intégration de la bibliothèque SafeMath d'OpenZeppelin pour gérer les opérations entières, afin d'éviter les risques de débordement.
Cet événement nous rappelle une fois de plus qu'il est crucial de traiter la sécurité des opérations arithmétiques dans le développement de contrats intelligents. Les développeurs doivent rester vigilants face aux problèmes de débordement d'entier potentiels et prendre des mesures appropriées pour protéger la sécurité du contrat.