yUSDT iEarn mal configuré chez Yearn
Un contrat iEarn Yearn legacy mal configuré pointant vers le mauvais jeton Fulcrum a minté 1,2Q yUSDT et drainé 11 M$ d'Aave v1 sans alerter personne.
- Date
- Victime
- Yearn Finance (iEarn)
- Chaîne(s)
- Statut
- Fonds dérobés
Le 13 avril 2023, les attaquants ont exploité une mauvaise configuration dans le contrat legacy iEarn yUSDT — un prédécesseur de Yearn Finance déprécié depuis 2020 — pour minter plus de 1,2 quadrillion de yUSDT depuis un dépôt initial de 10 000 $. Le drainage résultant a extrait environ 11,5 millions de dollars depuis divers pools de liquidité de stablecoins.
Ce qui s'est passé
iEarn était le contrat agrégateur de rendement original de Yearn Finance, déployé début 2020 avant l'introduction des coffres Yearn modernes. Le contrat était immuable et a été déprécié mi-2020 lors de la livraison des coffres V1, mais est resté on-chain depuis.
Une erreur de configuration dans le contrat yUSDT d'iEarn avait été silencieusement latente pendant trois ans :
- iEarn était censé déposer l'USDT sous-jacent de yUSDT dans le pool iUSDT de Fulcrum.
- Le contrat était au lieu configuré pour déposer dans le pool iUSDC de Fulcrum — un jeton entièrement différent.
L'écart signifiait que le calcul du taux de change entre USDT et yUSDT était cassé. Le prix était effectivement n'importe quel nombre que l'attaquant pouvait y pousser en déposant de l'USDT dans un contrat qui interprétait les dépôts comme la valeur d'un stablecoin différent.
L'attaque :
- L'attaquant a déposé un petit montant initial d'USDT (~10 K$).
- À travers une séquence de dépôts soigneusement chronométrés et la comptabilité mal routée yUSDT/iUSDC, minté ~1,2 quadrillion de yUSDT contre essentiellement aucune valeur.
- Utilisé le solde absurde de yUSDT comme collatéral ou entrée de swap à travers les marchés Aave v1 et pools Curve qui avaient des intégrations yUSDT obsolètes.
- Drainé 11,5 M$ en stablecoins mixtes (USDP, TUSD, BUSD, USDT, USDC, DAI) avant que quiconque ne rattrape.
Conséquences
- Yearn a confirmé publiquement que l'exploit était limité au contrat iEarn déprécié — les coffres Yearn modernes (V1, V2, V3) n'étaient pas affectés, comme le déploiement actuel d'Aave.
- Les stablecoins volés ont été blanchis via Tornado Cash.
- L'incident a déclenché des audits plus larges des contrats legacy immuables consommant toujours de la liquidité on-chain à travers les grands protocoles.
Pourquoi c'est important
L'incident iEarn démontre que les contrats dépréciés ne sont pas la même chose que les contrats décommissionnés. Tant qu'un contrat est on-chain et intégré à des marchés vivants, toute erreur de configuration cuite à l'intérieur peut toujours être exploitée — même trois ans après que l'équipe a cessé de le supporter.
La réponse défensive dans les mois suivants a inclus :
- Flux de dépréciation actifs qui mettent en pause les intégrations et migrent la liquidité hors des contrats legacy lorsqu'ils sont retirés.
- Audits cross-protocoles spécifiquement scopés sur les surfaces de contrats legacy qui s'intègrent aux marchés actuels.
- Plafonds de liquidité sur les pools Aave v1 / Curve / similaires qui ont vieilli hors de la maintenance active.
La leçon de Yearn est l'inglorieuse : un contrat que vous avez oublié est un contrat dont quelqu'un d'autre se souviendra.
Sources & preuves on-chain
- [01]coindesk.comhttps://www.coindesk.com/business/2023/04/13/defi-protocols-aave-yearn-finance-likely-impacted-in-exploit-peckshield
- [02]quillaudits.medium.comhttps://quillaudits.medium.com/decoding-yearn-finance-11-million-hack-quillaudits-c9a75ac7e68b
- [03]slowmist.medium.comhttps://slowmist.medium.com/an-analysis-of-the-attack-on-yearn-finance-bd17f55460ea