Le 10 juin 2024, le protocole de prêt UwULend a perdu environ 19,4 millions de dollars après qu'un attaquant a manipulé l'oracle de prix sUSDe via de gros swaps dans le pool Curve Finance pertinent. Un second exploit plus petit (3,7 M$) a frappé UwULend la même semaine durant les efforts de remboursement.
Ce qui s'est passé
L'oracle de prix d'UwULend pour sUSDe (l'USDe staké d'Ethena) était construit en échantillonnant 11 prix USDe différents à travers les pools Curve et Uniswap v3 et en utilisant la médiane comme prix canonique. 5 de ces 11 sources utilisaient le prix spot instantané du pool Curve via get_p — lisible et inscriptible dans la même transaction.
L'attaquant a réalisé que s'il pouvait bouger 5 des 11 prix sources dans le même bloc, la médiane se déplacerait — mais la manipulation n'avait besoin d'être que momentanée, juste assez pour encadrer un cycle emprunt-puis-liquidation.
L'attaque :
- Emprunt flash d'un gros montant de stables et d'USDe.
- Swap d'USDe dans le pool Curve pour supprimer le prix spot du sUSDe.
- Avec la lecture d'oracle médian maintenant ~4 % sous le peg (0,99 $), l'attaquant a emprunté des montants massifs de sUSDe sur UwULend au prix déprimé.
- Inversé la manipulation Curve en faisant le swap retour, poussant la lecture d'oracle sUSDe à ~1,03 $.
- Avec la vue d'UwULend sur les valeurs de collatéral sUSDe maintenant élevée, d'autres positions sont devenues sous-collatéralisées au nouveau pricing. Les liquidations se sont exécutées — et l'attaquant, qui avait monté des positions pour profiter de la hausse, a collecté les récompenses de liquidation.
Profit net : ~19,4 M$ après remboursements des flash loans.
Conséquences
- UwULend a mis en pause les opérations et est entré en négociation on-chain avec l'attaquant.
- Pendant la même semaine, un second exploit (attaquant différent, vecteur différent) a drainé ~3,7 M$ supplémentaires avant que l'équipe ne puisse achever ses correctifs.
- Les plans de remboursement ont été déployés graduellement ; la position du protocole a été significativement endommagée.
Pourquoi c'est important
UwULend est l'une des plus fortes démonstrations que l'agrégation d'oracles médiane-de-N n'est aussi résistante que sa pire source individuelle. Mélanger des feeds dérivés de TWAP avec des prix spot instantanés dans la même médiane produit un système qui paraît robuste sur papier mais se réduit en pratique à « les sources les moins chères à manipuler ».
La réponse défensive — bien documentée mais inégalement adoptée :
- Chaque source d'oracle dans une médiane doit être individuellement résistante aux flash loans, pas seulement en moyenne.
- Les lectures de prix spot depuis des pools manipulables appartiennent dans des agrégateurs TWAP, pas directement dans les fonctions de prix.
- Les audits d'oracle par actif doivent traiter le calcul de médiane comme partie de l'oracle, pas comme une couche isolante qui répare les sources faibles.
Les 19,4 M$ d'UwULend sont le coût récurrent de sous-estimer ces subtilités dans la conception d'oracle de protocole de prêt.
Sources & preuves on-chain
- [01]quillaudits.comhttps://www.quillaudits.com/blog/hack-analysis/uwu-lend-hack
- [02]slowmist.medium.comhttps://slowmist.medium.com/analysis-of-the-uwu-lend-hack-9502b2c06dbe
- [03]rekt.newshttps://rekt.news/uwulend-rekt