Cryptonews

Exploit de passerelle de 334 000 $ de ZetaChain : comment une vulnérabilité en chaîne a drainé les portefeuilles des équipes sur 4 chaînes

Source
cryptonewstrend.com
Publié
Exploit de passerelle de 334 000 $ de ZetaChain : comment une vulnérabilité en chaîne a drainé les portefeuilles des équipes sur 4 chaînes

Table des matières ZetaChain a confirmé un exploit ciblé le 26 avril 2026, entraînant des pertes d'environ 333 868 $. L’attaque a ciblé le contrat GatewayEVM du protocole via une chaîne délibérée de faiblesses de conception. Aucun fonds d'utilisateur externe n'a été perdu lors de l'incident. Les trois portefeuilles concernés étaient sous le contrôle de ZetaChain. Un correctif a depuis été déployé et les transactions inter-chaînes restent suspendues en attendant les mises à niveau complètes de l'opérateur. L’exploit était centré sur la fonctionnalité d’appel arbitraire au sein du contrat GatewayEVM de ZetaChain. Un attaquant a utilisé l'indicateur isArbitraryCall pour contourner la vérification normale de l'expéditeur dans les messages inter-chaînes. Cela a amené le logiciel ZetaClient à mettre à zéro l'adresse de l'expéditeur, acheminant les appels via _executeArbitraryCall(). Cette fonction effectuait des appels externes bruts avec des restrictions minimales. La seule protection de la fonction était une liste de refus bloquant les sélecteurs onCall et onRevert. Les fonctions ERC-20 critiques telles que transferFrom et approuver sont restées débloquées. L'attaquant a défini la destination comme un contrat de jeton ERC-20 et a transmis transferFrom comme données d'appel. Étant donné que la passerelle détenait des allocations préexistantes provenant des portefeuilles des victimes, elle a exécuté le transfert avec succès. Neuf transactions de drainage ont eu lieu sur quatre chaînes : Ethereum, Base, Arbitrum et BSC. La plus grande fuite unique était de 110 291 $ en USDC sur la base. Une analyse complète de Dune Analytics a confirmé qu’aucune victime supplémentaire n’existait dans les cinq chaînes EVM connectées. ZetaChain a abordé l'incident directement sur X, déclarant que « les transferts ZETA inter-chaînes n'ont pas été affectés » et qu'« aucun fonds d'utilisateur n'a été affecté – tous les portefeuilles concernés étaient contrôlés par ZetaChain ». Le 27 avril, ZetaChain a été victime d'un exploit ciblé impliquant une préparation délibérée, notamment un financement Tornado Cash et une usurpation d'adresse de portefeuille. Les transferts ZETA inter-chaînes n’ont pas été affectés. Aucun fonds d'utilisateur n'a été affecté – tous les portefeuilles concernés étaient contrôlés par ZetaChain. A… — ZetaChain 🟩 (@ZetaChain) 29 avril 2026 Ce n'était pas une attaque opportuniste. Le pirate informatique a financé le portefeuille principal via Tornado Cash environ trois jours avant d'exécuter l'exploit. Cette démarche délibérée a masqué l’origine des fonds avant l’opération. L’attaquant a également forcé brutalement une adresse de portefeuille personnalisé qui ressemblait beaucoup à la véritable adresse de la victime. La fausse adresse partageait 13 caractères hexadécimaux correspondants à la vraie – quatre au préfixe et neuf au suffixe. La génération de cela a nécessité environ 4,5 quadrillions de clés d'essai, ce qui coûte entre 300 et 2 500 dollars en calcul GPU. Cette fausse adresse a été utilisée pour envoyer des transactions de poussière à la victime, insérant ainsi un sosie dans son historique de transactions. Cette technique exploite la façon dont les interfaces de portefeuille tronquent les adresses pour les afficher. Un contrat de drainage spécialement conçu a également été déployé sur ZetaChain pour orchestrer les appels inter-chaînes. Chaque drain a réussi avec zéro échec de destination. L’autopsie a noté ce schéma, suggérant que « le pirate informatique avait soigneusement pré-validé l’état d’allocation et les soldes de jetons de chaque cible avant de l’exécuter ». ZetaChain a suspendu toutes les transactions inter-chaînes dans les huit minutes suivant la détection de l'attaque. L’équipe a supprimé les approbations d’allocations infinies du flux de dépôt ZetaHub le même jour. Les nouveaux dépôts n’approuvent désormais que les montants exacts requis par transaction. Un correctif zetaclient a été développé, testé sur Testnet et est actuellement déployé sur les nœuds des opérateurs du réseau principal. Le correctif désactive définitivement le chemin de code d'appel arbitraire qui a rendu cet exploit possible. Les opérateurs de nœuds de validation n'ont pas besoin de prendre de mesures : seuls les nœuds d'observateurs nécessitent la mise à niveau. Toutes les adresses d’exploiteurs identifiées ont été signalées via le réseau d’intervention d’urgence SEAL 911. Un rapport a également été déposé auprès des forces de l'ordre via IC3.gov. Les fonds volés sur Ethereum ont été échangés contre environ 139 ETH et transférés vers un portefeuille de consolidation. ZetaChain revoit également son processus de tri des bug bounty. L'autopsie a reconnu que la vulnérabilité avait été signalée plus tôt, notant que « les rapports initiaux ont été rejetés car le comportement d'appel arbitraire était considéré comme inhérent à la conception ». Le protocole ajoute que l'incident a depuis conduit à une révision des procédures de triage des vecteurs d'attaque en chaîne. Il est conseillé aux utilisateurs ayant déjà eu des interactions avec la passerelle de révoquer les allocations ERC-20 à l'aide d'outils tels que Revoke.cash.