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 № 128Bug de smart contract

Exploit d'Euler Finance

Un health check manquant sur donateToReserves d'Euler a permis de créer une position auto-liquidable et de partir avec 197 M$ — majoritairement rendus.

Date
Chaîne(s)
Statut
Récupéré

Le 13 mars 2023, le protocole de prêt Euler Finance a été exploité pour environ 197 M$. Presque tout a été restitué par l'attaquant au cours du mois suivant, en faisant le plus gros exploit récupéré sur Ethereum à l'époque.

Ce qui s'est passé

Euler exposait une fonction donateToReserves qui permettait à tout détenteur d'eTokens de les donner aux réserves du protocole. La fonction décrémentait le solde du donateur mais n'exécutait pas de health check sur la position résultante du donateur.

En prenant un prêt flash, en déposant comme collatéral, en empruntant contre lui, puis en donnant une tranche de son solde d'eTokens, un attaquant pouvait pousser son propre compte sous l'eau exprès. Il se liquidait ensuite lui-même dans la même transaction, exploitant la récompense de liquidation à rabais d'Euler pour extraire plus de valeur qu'il n'en avait mis. La répétition en boucle drainait les pools de prêt.

Conséquences

  • L'équipe Euler a suspendu les contrats en quelques heures et a entamé une négociation on-chain avec l'attaquant.
  • L'attaquant a restitué tous les fonds — environ 197 M$ — au cours des semaines suivantes, invoquant un regret apparent. Le cas reste inhabituel parmi les grands exploits DeFi.
  • Euler a publié un post-mortem détaillé et a depuis redéployé avec des contrats ré-audités.

Pourquoi c'est important

Le bug n'était pas dans les prêts flash, les oracles ou la logique de liquidation — tous fonctionnaient correctement. La faille était un invariant manquant unique : chaque fonction qui modifie le solde d'un utilisateur doit appeler le même helper de health check. Plusieurs protocoles de prêt ont audité leurs codebases pour des omissions analogues dans les semaines qui ont suivi.

Sources & preuves on-chain

  1. [01]medium.comhttps://medium.com/euler-xyz/the-march-13-2023-euler-attack-d5cd462f5ee2
  2. [02]twitter.comhttps://twitter.com/eulerfinance/status/1635413933076774914
Transactions
  • 0xc310a0affe2169d1f6feec1c63dbc7f7c62a887fa48795d327d4d2da2d6b111d

Dépôts liés