Le protocole DeFi Yearn Finance a publié un rapport post-mortem concernant l’attaque yETH survenue la semaine dernière, indiquant qu’une erreur arithmétique dans l’ancien pool stableswap a permis à l’attaquant de “minter quasiment à l’infini” des tokens LP et de retirer environ 9 millions de dollars d’actifs. Yearn a également confirmé avoir récupéré une partie des fonds volés.
Selon Yearn, le pool yETH weighted stableswap a été exploité au bloc 23.914.086 le 30/11/2025, après une série d’opérations complexes qui ont amené le solver (solver) du pool dans un état incorrect, menant finalement à une erreur arithmetic underflow.
Les vaults v2, v3 et autres produits n’ont pas été affectés ; les pertes se concentrent uniquement sur yETH et les intégrations associées.
Le pool attaqué était un stableswap personnalisé regroupant de nombreux tokens de liquid staking (LST) tels que apxETH, sfrxETH, wstETH, cbETH, rETH, ETHx, mETH, wOETH ainsi qu’un pool yETH/WETH. Avant l’incident, ces pools détenaient un panier de LST et 298,35 WETH.
Le post-mortem divise l’attaque en trois phases :
L’attaquant a déposé des liquidités extrêmement déséquilibrées, poussant le solver fixe du pool hors de sa plage de fonctionnement prévue. Cela a entraîné la chute d’une variable interne (Π) à 0, brisant l’invariant du weighted stableswap et permettant l’over-mint d’un grand nombre de tokens LP.
Avec l’importante quantité de LP over-mintés, l’attaquant a appelé en boucle remove_liquidity et des fonctions associées pour retirer la quasi-totalité de la liquidité LST, reportant le coût du mint erroné sur la part de liquidité détenue par le protocole (POL). Ce processus a ramené l’offre interne du pool à 0 alors que le solde ERC-20 restait positif.
L’attaquant est revenu à la voie d’initialisation du pool, censée n’être utilisée qu’au moment du déploiement. En soumettant une configuration “dust” qui viole les conditions de domaine, il a déclenché une opération unsafe_sub provoquant un underflow, créant une quantité quasi-infinie de yETH LP, utilisée ensuite pour vider le pool yETH/ETH sur Curve.
Yearn annonce avoir récupéré 857,49 pxETH grâce à la collaboration avec Plume et Dinero ; la transaction de récupération a eu lieu le 1/12. Ces fonds seront redistribués proportionnellement aux déposants yETH selon leur solde avant l’attaque.
Environ 1 000 ETH dérobés ont été envoyés sur Tornado Cash dans la soirée du jour de l’incident, le reste ayant également transité par Tornado le 5/12. The Block avait précédemment rapporté qu’environ 3 millions de dollars d’ETH avaient été envoyés vers le mixer juste après l’attaque.
Yearn rappelle que yETH fonctionne selon un modèle autogéré basé sur YIP-72, avec la clause “Use at Own Risk”, et affirme que l’équipe Yearn ainsi que la communauté YFI ne sont pas responsables du remboursement. Tous les fonds récupérés seront restitués aux utilisateurs affectés.
Pour empêcher une répétition de l’incident, Yearn propose plusieurs mesures :
Yearn remercie ChainSecurity pour l’analyse de la cause racine et SEAL 911 pour l’aide à la gestion de crise et à la récupération des fonds. L’enquête et le suivi des flux financiers des attaquants sont toujours en cours.
Vương Tiễn