Un portefeuille Safe sur Ethereum perd 7,73 millions de dollars en rsETH à cause d’un module malveillant et d’un hook Uniswap v4
Points clés
- •Un portefeuille Safe sur Ethereum a perdu environ 7,73 millions de dollars en rsETH au cours de deux transactions identifiées par la surveillance de sécurité le 15 septembre.
- •L’attaquant a utilisé un multicall public de keeper pour invoquer un module de liquidité Uniswap v4 personnalisé sur le Safe et acheminer les actifs vers un pool doté d’un hook contrôlé par l’attaquant.
- •Le hook malveillant a converti la garantie aEthrsETH du portefeuille, qui représente des rsETH fournis à Aave, en rsETH transférables avant l’extraction des fonds.
- •Une opération MEV désignée par Etherscan comme MEV Frontrunner Yoink a devancé la transaction d’attaque et capturé une grande partie de la valeur extraite, laissant le Safe avec seulement un NFT représentant une position de liquidité.
- •Les contrats multisignature fondamentaux de Safe, les clés des signataires, Aave, Kelp DAO et le contrat du jeton rsETH n’ont pas été compromis. L’incident est distinct de l’exploit d’environ 292 millions de dollars subi par Kelp DAO en avril et de l’attaque SquidRouterModule de mai, qui a vidé 86 comptes Safe.

Un utilisateur d’Ethereum a perdu environ 7,73 millions de dollars en rsETH après qu’un attaquant a exploité une voie d’exécution de module Safe pour rediriger des actifs vers un pool de liquidité Uniswap v4 contrôlé par l’attaquant.
L’adresse Safe concernée (0x40e93a52f6af9fcd3b476aedadd7feabd9f7aba8) a été ciblée au début du 15 septembre. La surveillance de sécurité a identifié deux transactions responsables de la perte. Les éléments disponibles indiquent que le module personnalisé du portefeuille et son interaction avec un hook malveillant sont en cause, plutôt qu’une vulnérabilité des contrats smart-account fondamentaux de Safe.
Un module personnalisé a acheminé les actifs vers un pool malveillant
L’attaque a utilisé un multicall public de keeper pour invoquer un module Safe personnalisé Uni V4 LP attaché au compte. L’exécution a acheminé la liquidité vers un pool Uniswap v4 créé avec un hook contrôlé par l’attaquant, permettant à la logique de routage malveillante d’accéder aux actifs impliqués dans la position.
Le hook a ensuite converti la position aEthrsETH de la victime en rsETH transférables. aEthrsETH représente des rsETH fournis à Aave ; l’attaquant devait donc d’abord sortir la position de sa forme de jeton de reçu Aave avant d’extraire les rsETH sous-jacents.
L’architecture des modules de Safe permet aux extensions autorisées d’exécuter des transactions indépendamment du fonctionnement multisignature normal. Les modules peuvent automatiser des opérations DeFi complexes, mais Safe avertit qu’ils sont essentiels à la sécurité, car un module malveillant ou vulnérable activé peut exécuter des transactions arbitraires depuis un compte. La documentation de Safe sur les modules est disponible ici.
Comme le multicall public de keeper pouvait invoquer le module personnalisé du compte, la frontière de sécurité pertinente dépassait le processus de signature de Safe et englobait l’autorisation et la logique transactionnelle du module. Pour des comptes similaires compatibles avec la DeFi, l’examen du seul contrat Safe ne suffirait pas à décrire entièrement la surface d’exécution active du compte.
L’attaque n’a pas compromis les contrats multisignature fondamentaux de Safe, les clés des signataires ni Ethereum lui-même. La voie de défaillance identifiée impliquait le module personnalisé du compte et un hook Uniswap v4 contrôlé par l’attaquant. Une séparation similaire est apparue en mai, lorsqu’un exploit de SquidRouterModule a vidé 86 comptes Safe sur Ethereum et Base, tout en laissant les contrats Safe sous-jacents en dehors de la voie de défaillance identifiée.
Un bot MEV a capturé l’extraction
La transaction d’attaque a été interceptée dans le bloc par une opération MEV associée à l’adresse qu’Etherscan désigne comme MEV Frontrunner Yoink.
Le bot a devancé l’extraction initiale et capturé le parcours transactionnel rentable avant que l’attaquant ne puisse l’achever tel qu’il avait été soumis. La victime a tout de même perdu les rsETH, car l’exécution malveillante sous-jacente a abouti, tandis que l’ordre des transactions a déterminé quelle adresse externe a finalement capturé une grande partie de la valeur extraite.
Le Safe ne détenait plus qu’un NFT représentant une position de liquidité du pool malveillant, au lieu de la position adossée à des rsETH qu’il détenait avant les transactions.
Le rsETH fait de nouveau l’objet d’une attention sécuritaire
Le rsETH est le jeton de restaking liquide de Kelp DAO et reste intégré aux marchés de prêt et de liquidité d’Ethereum. Son utilisation au sein d’Aave a créé la garantie aEthrsETH impliquée dans le drainage du portefeuille.
Le jeton de Kelp a également subi une perturbation majeure de sécurité plus tôt cette année. Un exploit de Kelp DAO survenu en avril a libéré environ 292 millions de dollars en rsETH depuis une infrastructure inter-chaînes et créé une exposition importante en aval sur les marchés de prêt DeFi.
La perte du 15 septembre constitue un événement distinct. Les éléments disponibles se concentrent sur l’exécution du module du Safe concerné, le hook Uniswap v4 contrôlé par l’attaquant et la conversion qui en a résulté de la position en rsETH du portefeuille, adossée à Aave. Aucun compromis plus large de Safe, d’Aave, de Kelp DAO ou du contrat du jeton rsETH n’a été établi.
Source : Crypto Adventure.