Drainage par prêt flash de Cream Finance
Une manipulation de prix yUSD par prêt flash a permis d'emprunter contre 1 Md$ de faux collatéral et drainer 130 M$ de Cream, son troisième exploit de 2021.
- Date
- Victime
- Cream Finance
- Chaîne(s)
- Statut
- Fonds dérobés
Le 27 octobre 2021 à 13:54 UTC, un attaquant a drainé environ 130 millions de dollars de Cream Finance v1 dans l'un des exploits en une transaction les plus complexes de l'histoire DeFi — 68 actifs différents touchés, 9+ ETH en gas, et une manipulation de prix qui a transformé 1 Md$ de collatéral temporaire en 130 M$ de retraits réels.
Ce qui s'est passé
Les marchés de prêt de Cream v1 acceptaient yUSD — un wrapper porteur de rendement de Yearn Finance — comme collatéral. Le prix de yUSD dans la comptabilité de Cream venait d'un oracle qui lisait la balance de crYUSD détenue par la position de prêt de l'attaquant, mise à l'échelle par le taux de change supposé.
L'attaque a enchaîné plusieurs actions :
- Emprunt de ~1 Md$ en stablecoins via prêt flash.
- Dépôt des stablecoins dans Yearn pour frapper une quantité massive de yUSD.
- Dépôt du yUSD dans Cream v1, qui l'a crédité comme collatéral valant approximativement la valeur dollar déposée.
- Manipulation du calcul du taux de change yUSD/crYUSD afin que l'oracle de Cream reporte un prix énormément gonflé pour le collatéral de l'attaquant.
- Emprunt contre le collatéral gonflé, drainant la liquidité disponible de Cream sur des dizaines d'actifs.
- Remboursement du prêt flash et départ avec la différence nette.
La transaction a touché 68 marchés et tokens différents parce que Cream les supportait tous — et l'attaquant a drainé ce qui était disponible sur chaque pool.
Conséquences
- Cream Finance a mis en pause les marchés v1 en quelques heures, avec l'aide d'ingénieurs Yearn qui ont identifié le bug.
- L'attaquant a blanchi via Tornado Cash ; aucune récupération publique.
- C'était le troisième exploit majeur de Cream en 2021 — les incidents antérieurs en février et août avaient drainé des montants plus petits via des vulnérabilités séparées. Le troisième a effectivement été la fin de Cream v1 comme protocole significatif.
Pourquoi c'est important
Cream v1 est l'étude de cas canonique pour l'échec de conception d'oracle sous prêts flash : tout système qui autorise du collatéral dont le prix dépend d'une fonction de son propre solde — ou d'un calcul de taux de change en un seul bloc — peut être manipulé dans la même transaction où la manipulation est lue. Les protocoles de prêt modernes utilisent des oracles pondérés dans le temps, des flux de prix découplés et des plafonds de prix sur les types de collatéral spécifiquement pour empêcher le schéma Cream.
Sources & preuves on-chain
- [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-cream-finance-hack-october-2021
- [02]coindesk.comhttps://www.coindesk.com/business/2021/10/27/cream-finance-exploited-in-flash-loan-attack-worth-over-100m
- [03]therecord.mediahttps://therecord.media/hackers-steal-130-million-from-cream-finance-the-companys-3rd-hack-this-year