Un chercheur en sécurité connu sous le nom de 0xflorent a collaboré avec l'équipe derrière un contrat ICO Ethereum (ETH) de 2016 pour débloquer environ 2 millions de dollars en ether restés piégés pendant neuf ans, grâce à une récupération whitehat coordonnée exploitant une faille de débordement d'entier que les développeurs originaux n'avaient jamais corrigée.
Le contrat appartient à HongCoin, une vente de tokens de 2016 qui n'a pas atteint son objectif de financement et était censée rembourser automatiquement l'ether des investisseurs, mais a échoué en raison d'un bug dans la fonction de remboursement.
La méthode de 0xflorent a dégelé 1 003,62 ETH, et 48 investisseurs initiaux sont désormais éligibles pour réclamer leurs fonds. Deux l'ont déjà fait, récupérant un total combiné de 96,5 ETH d'une valeur d'environ 193 000 dollars, a-t-il indiqué dans un fil X dimanche.
La logique de remboursement du contrat rejetait tout détenteur dont le solde de tokens dépassait un compteur global qui, après des années de remboursements partiels, était tombé à 356, plafonnant les remboursements supplémentaires à 3,56 ETH.
0xflorent a découvert qu'une fonction d'administration du contrat, réservée au portefeuille multisig de HongCoin, manquait des protections contre le débordement d'entier intégrées plus tard au langage de programmation Solidity. L'appeler avec une valeur d'entrée spécifique réinitialisait le solde du détenteur à un, permettant à la vérification de remboursement de passer et libérant les fonds.
Cependant, la récupération n'était pas une exploitation unilatérale. Étant donné que la fonction d'administration nécessitait le multisig de HongCoin pour s'exécuter, 0xflorent a contacté l'équipe par e-mail, validé la séquence de déblocage sur un fork de test du réseau principal Ethereum, et l'équipe elle-même a signé les transactions de déblocage.
Elle a signé 41 transactions, une par détenteur bloqué, libérant les environ 1 000 ETH qui étaient réellement piégés. Sept autres détenteurs avaient des soldes suffisamment petits pour être remboursés directement sans la solution de contournement.
Il s'agit de la deuxième récupération de ce type que 0xflorent a rendue publique en huit jours.
Le 24 mai, il a déclaré avoir restitué 19,329 ETH, d'une valeur d'environ 40 590 dollars, à leurs propriétaires initiaux, dont 5,141 ETH provenant d'une ICO avortée en janvier 2018 et 14,190 ETH provenant de sept atomic swaps expirés dans un compte utilisateur Liquality Wallet devenu inaccessible après la fermeture du portefeuille en 2024.
Cette récupération intervient dans un contexte d'exploits DeFi intenses, le mois d'avril seul ayant vu des centaines de millions de dollars drainés à travers divers protocoles, avec en tête un coup de près de 293 millions de dollars sur Kelp DAO.