Skip to content

on-chain

HongCoin : 1 003 ETH débloqués neuf ans après l'ICO via overflow

Un chercheur sous le pseudo 0xFlorent_ exploite un overflow d'entier dans le contrat HongCoin de 2016 pour rouvrir le remboursement de 48 investisseurs et 1 003,62 ETH.

par 5 min de lecture

Un chercheur en sécurité opérant sous le pseudonyme 0xFlorent_ a permis le déblocage de 1 003,62 ETH — environ 2 M$ au cours du 1ᵉʳ juin 2026 — piégés depuis 2016 dans le contrat de l'ICO HongCoin, à l'adresse 0x9fa8fa61a10ff892e4ebceb7f4e0fc684c2ce0a9 sur Ethereum. Le chercheur n'a pas drainé le contrat lui-même : il a transmis le chemin d'exploitation à l'équipe HongCoin, dont le multisig a ensuite signé les 41 transactions de remboursement qui ouvrent à nouveau le droit au retrait pour les 48 souscripteurs d'origine. Le compte-rendu en français est sur Journal du Coin — Hack crypto : il sauve 2 millions de $ bloqués depuis 10 ans — et la couverture Cryptoast — Un développeur récupère 2 millions de dollars d'ETH bloqués depuis un ICO de 2016.

Ce qui s'est passé

L'ICO HongCoin d'août 2016 n'avait pas atteint son seuil de levée. Le contrat prévoyait un remboursement automatique de chacun des 48 souscripteurs, mais un bug de comptabilité dans la fonction de remboursement a bloqué le chemin. Au fil des années, quelques remboursements partiels ont fait descendre une variable de plafond globale dans le contrat ; passé un certain seuil, le contrat refusait tout retrait dont le solde du détenteur dépassait ce plafond résiduel. Les sources rapportent un plafond ramené à 3,56 ETH par retrait, très en-deçà de ce que la plupart des souscripteurs étaient dûs. Les 1 003 ETH restaient visibles à l'adresse du contrat — et inaccessibles.

0xFlorent_ a identifié une fonction d'administration du contrat dépourvue de garde contre les overflows entiers. Appelée avec une entrée bien choisie, elle provoque un wrap d'une variable de stockage utilisée par la routine de remboursement, ce qui remet à zéro le solde comptabilisé d'un détenteur et rouvre le chemin de remboursement. Le chercheur a validé l'enchaînement sur un fork local d'Ethereum, écrit au multisig HongCoin, et fourni le script. Entre le 26 et le 30 mai 2026, le multisig HongCoin a signé 41 transactions on-chain — une par souscripteur encore éligible. À la clôture du 1ᵉʳ juin, deux détenteurs ont déjà réclamé 96,5 ETH (≈ 193 000 $) ; environ 907 ETH restent à retirer.

Le mécanisme — un overflow comme clé, pas comme arme

Deux particularités. Première : la même primitive — fonction d'admin sans protection arithmétique de type SafeMath — aurait permis à un attaquant de vider le contrat il y a des années, si quelqu'un l'avait trouvée. Le code est exposé à cette classe de bug depuis 2016. Seconde : l'exploit n'est pas exécuté pour soutirer les fonds, mais pour réarmer la fonction de remboursement. La routine de paiement reste verrouillée par le multisig HongCoin ; le chercheur ouvre la porte, mais ne peut pas servir les remboursements. Cette asymétrie est ce qui rend possible un véritable chemin white-hat.

Le contrat n'est pas verified sur Etherscan et précède les patrons OpenZeppelin (SafeMath) devenus standard fin 2017–2018. Les protections d'overflow au niveau langage sont arrivées avec Solidity 0.8.0 en décembre 2020. Le bytecode HongCoin reste donc vulnérable à cette classe, par construction.

Chiffres

Contrat              : 0x9fa8fa61a10ff892e4ebceb7f4e0fc684c2ce0a9 (HongCoin)
Bloqué depuis        : août 2016 (échec du chemin de remboursement)
Souscripteurs        : 48
ETH débloqués        : 1 003,62 ETH (≈ 2,00 M$ au 01-06-2026)
Fenêtre d'exécution  : 26-30 mai 2026 (41 transactions multisig)
Déjà réclamés        : 96,5 ETH (≈ 193 000 $) sur 2 détenteurs
Restant à réclamer   : ≈ 907 ETH sur 46 détenteurs
Chercheur            : 0xFlorent_ (divulgation privée à HongCoin)
Classe de bug        : overflow entier, fonction d'admin, antérieur à Solidity 0.8

Que surveiller

  1. La norme de divulgation pour les contrats ICO dormants. La majorité des contrats déployés entre 2015 et 2018 ne sont plus upgradables. Un chemin white-hat qui passe par la signature de l'équipe d'origine ne fonctionne que si le multisig est encore atteignable et coopératif. HongCoin remplissait les deux conditions. La plupart des ICO ratées de 2017 non.
  2. D'autres contrats post-ICO non audités. La même classe d'overflow existe à grande échelle dans le bytecode pré-0.8 encore actif. Un petit écosystème de recherche s'est formé autour des contrats dormants ; le modèle HongCoin — divulgation privée plutôt que sweep — fixe une référence opérationnelle qui sera réutilisée.
  3. Le traitement fiscal et KYC des remboursements. Pour 46 détenteurs encore éligibles, c'est un retour de capital différé de presque dix ans. Le coût d'acquisition de l'ether date de 2016 (cours autour de 10–20 $), la valeur de marché de 2026 est largement supérieure. Chaque juridiction tranchera différemment.

Contexte — la longue traîne de Solidity avant SafeMath

Les bugs d'overflow entier dans le Solidity d'avant 2018 sont la même primitive qui a financé le sweep BeautyChain (BEC) en avril 2018 et figure dans plusieurs incidents Poly Network. HongCoin présente le cas inverse : un contrat qui aurait dû rembourser et ne le faisait plus, débloqué par la même classe de bug qui a détruit d'autres contrats. Le motif persiste parce que le langage n'a pas imposé de check par défaut avant 0.8.0 ; chaque bytecode déployé avant cette date reste candidat à des trouvailles de cette nature.

Pour les souscripteurs ICO de la période 2016-2017 qui croyaient leurs fonds définitivement perdus, la leçon est opérationnelle : vérifier les anciennes adresses, confirmer que le contrat est encore actif, et surveiller les divulgations publiées par des chercheurs identifiés. Les récupérations « white-hat » de type sweep — fonds saisis puis restitués — restent juridiquement et réputationnellement piégeuses. La voie HongCoin, divulgation privée vers un multisig encore fonctionnel, est le modèle propre.

Sources :

  • Journal du Coin — Hack crypto : il sauve 2 millions de $ bloqués depuis 10 ans (1ᵉʳ juin 2026)
  • Cryptoast — Un développeur récupère 2 millions de dollars d'ETH bloqués depuis un ICO de 2016 (1ᵉʳ juin 2026)
  • Etherscan, page contrat 0x9fa8fa61a10ff892e4ebceb7f4e0fc684c2ce0a9

Articles liés