Exploitation d’un pool de liquidité Balancer V1
Un pool de liquidité de type Balancer V1 a perdu environ 234 000 $ en raison d’une exploitation d’une erreur d’arrondi le 31 août, selon Slowmist. Ce type de bug avait déjà permis de siphonner 116 millions de dollars des pools V2 de Balancer en novembre dernier. Bien que Balancer ait déjà connu un scénario similaire, l’histoire s’est une fois de plus répétée.
Détails de l’exploitation
Il y a quelques heures, la société de sécurité blockchain Slowmist a mis en lumière une nouvelle exploitation visant un pool de type Balancer V1, cette fois pour un montant relativement modeste de 234 000 $. Bien que ce montant soit faible par rapport aux précédents incidents de Balancer, la nature du bug est indéniable : il s’agit d’une erreur d’arrondi dans le calcul des montants de jetons lors d’un échange.
Selon l’analyse technique de Slowmist, l’attaquant a ciblé la fonction
joinswapPoolAmountOutdu pool, qui permet à un utilisateur de spécifier combien de BPT (Balancer Pool Tokens) il souhaite recevoir, tandis que le contrat calcule l’entrée requise.
Ce calcul inverse, géré par calcSingleInGivenPoolOut, utilise des mathématiques à virgule fixe à 18 décimales. En effectuant une série d’échanges publics, l’attaquant a réduit les réserves de WBTC du pool à presque rien. Avec des réserves quasi nulles, les mathématiques ont arrondi l’entrée requise à seulement 1 satoshi de WBTC, une fraction de cent, tandis que le contrat a toujours émis le montant total de BPT demandé par l’attaquant.
Manque de protections
Slowmist a signalé que le pool manquait de protections de base qui auraient pu prévenir cette exploitation, notamment une entrée minimale efficace, un solde de pool minimum et une validation d’erreur relative. La vérification MIN_BALANCE du contrat n’était appliquée que lors des fonctions de liaison et de re-liaison, et non lors des échanges ordinaires.
Slowmist a également publié le portefeuille de l’attaquant ainsi que l’adresse du contrat d’attaque dans le cadre de son alerte.
Contexte et conséquences
En mars, Balancer Labs, la société derrière le protocole, a annoncé qu’elle fermerait en tant qu’entité corporative, citant une exposition légale croissante, cinq mois après l’exploitation de novembre 2022 qui avait fait chuter la valeur totale verrouillée du protocole d’environ 775 millions de dollars à environ 300 millions de dollars. Le co-fondateur Fernando Martinelli a déclaré à l’époque que le DAO prendrait en charge les opérations sous une forme plus légère, spécifiquement pour se libérer de « la responsabilité des incidents de sécurité passés ».
Le portefeuille associé à cette première exploitation est également resté actif, réapparaissant cinq mois plus tard pour déplacer 1 100 ETH via Thorchain. L’exploitation d’aujourd’hui a touché WBTC, une représentation tokenisée de Bitcoin, plutôt que le jeton de gouvernance de Balancer, rappelant que même si le prix du Bitcoin se situe confortablement près de 78 000 $, les versions enveloppées et tokenisées de celui-ci, vivant à l’intérieur des protocoles de finance décentralisée (DeFi), comportent leur propre ensemble de risques distincts.
Autres incidents récents
La plateforme Metaverse The Sandbox a récemment confirmé qu’un pont exploité a permis à un attaquant de frapper du SAND non soutenu sur Base et BNB.