Aller au contenu
Fondé MMXXVIVol. VI · № 273RSS
Blockchain Breaches

Archive des incidents de sécurité dans les cryptomonnaies — piratages, exploits, défaillances de ponts et rug pulls, documentés avec des preuves on-chain.

Dossier № 125Bug de smart contract

Appel arbitraire selfSwap de Dexible

Les utilisateurs de Dexible ont perdu 2 M$ après que selfSwap a effectué des appels externes arbitraires avec des données fournies par l'utilisateur.

Date
Victime
Dexible
Statut
Fonds dérobés

Le 17 février 2023, l'application de trading Dexible a perdu environ 2 millions de dollars lorsqu'un attaquant a exploité la fonction selfSwap, qui effectuait un appel externe arbitraire en utilisant l'adresse du routeur et les calldata fournis par l'utilisateur sans validation. L'attaquant l'a pointée vers des contrats de tokens et a appelé transferFrom contre chaque wallet détenant des approvals Dexible.

Ce qui s'est passé

selfSwap était conçue pour router des trades via un routeur DEX arbitraire fourni par l'appelant. Elle ne restreignait ni la cible ni les calldata. L'attaquant l'a invoquée avec target = un contrat de token et calldata = transferFrom(victime, attaquant, solde), drainant environ 2 M$ depuis les wallets ayant accordé des approvals sur Ethereum et Arbitrum.

Conséquences

  • Dexible a suspendu le contrat et exhorté les utilisateurs à révoquer leurs approvals.
  • L'équipe a publié un post-mortem ; une mitigation partielle a suivi.

Pourquoi c'est important

Dexible est l'une des instances les plus pures de l'anti-pattern « appel externe arbitraire avec cible contrôlée par l'appelant » — structurellement identique à Furucombo, Transit Swap et LI.FI. Tout contrat détenant des approvals qui laisse l'appelant spécifier quel contrat appeler et avec quelles données est un drainage universel des wallets de ses utilisateurs. La règle est absolue et constamment violée : ne jamais faire d'appel externe non validé depuis un contrat qui détient des approvals utilisateurs. L'UX d'agrégateur veut un routage flexible ; la sécurité exige une allowlist. Le catalogue montre ce compromis exact perdu, de la même façon, année après année.

Sources & preuves on-chain

  1. [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-dexible-hack-february-2023
  2. [02]blockapex.iohttps://blockapex.io/dexible-hack-analysis/
  3. [03]rekt.newshttps://rekt.news/dexible-rekt

Dépôts liés