ActualitésCryptoUne attaque par flash loan draine 9,25 ETH du RedSonic Vault en une seule transaction Ethereum

Une attaque par flash loan draine 9,25 ETH du RedSonic Vault en une seule transaction Ethereum

Auteur: Blockonomi·

Points clés

  • L'attaque contre le RedSonic Vault a entraîné une perte d'environ 9,25 ETH et a été entièrement financée par un flash loan de 1 139 WETH sur Balancer, sans capital de la part de l'attaquant.
  • La fonction registerErc20 du vault ne comportait aucun contrôle d'accès, permettant à l'attaquant d'enregistrer le stETH comme second actif dont les parts tiraient sur le même solde sous-jacent que le rsvETH.
  • La tarification des parts dépendait du solde brut de stETH du vault, si bien qu'un dépôt de 9,34 stETH a artificiellement gonflé la valeur des parts rsvETH existantes de l'attaquant sans émettre de nouvelles parts.
  • L'attaquant a déposé 1 130 ETH pour contrôler environ 99 % des parts rsvETH, puis les a échangées contre 1 139,5 ETH, le stETH récupéré étant converti en ETH sur Curve avant le remboursement du flash loan dans la même transaction.
  • L'exploit s'est exécuté dans le constructeur d'un contrat à autodestruction, mais la transaction on-chain atomique reste traçable publiquement via Etherscan.
Une attaque par flash loan draine 9,25 ETH du RedSonic Vault en une seule transaction Ethereum

Un attaquant utilisant un flash loan a drainé 9,25 ETH du RedSonic Vault d'Ethereum en une seule transaction autonome. La société de sécurité blockchain ExVulSec a identifié l'exploit et publié une analyse technique complète de l'incident, survenu le 5 septembre 2026.

L'attaquant n'avait besoin d'aucun capital initial. Il a instead emprunté 1 139 WETH via un flash loan sur Balancer pour financer l'intégralité de l'opération. Les flash loans permettent aux emprunteurs d'accéder à des sommes importantes sans fournir de garantie, à condition que le prêt soit remboursé au sein de la même transaction — un mécanisme fréquemment utilisé par des attaquants pour financer des exploits qui exigeraient autrement un capital de départ substantiel.

Déroulement de l'exploit

La racine de l'attaque résidait dans la manière dont le vault de RedSonic valorise ses parts rsvETH. Le vault calcule la valeur des parts via une fonction appelée getTotalAssetBalance, qui, pour la position Lido, lit directement le solde brut de stETH du vault. Ce choix de conception est devenu le fondement de l'exploit : un prix de part directement lié à un solde brut peut varier si ce solde change de manière inattendue, sans qu'aucune part correspondante ne doive être émise ou brûlée. Valoriser les parts à partir de soldes bruts de tokens plutôt que d'une méthode comptable résistante à la manipulation est une faiblesse récurrente dans les exploits DeFi, et cet incident s'inscrit dans ce schéma plus large.

Selon ExVulSec, la fonction registerErc20 du vault ne comportait aucune restriction d'accès, ce qui signifie que n'importe qui pouvait enregistrer une nouvelle classe d'actifs dans le vault. Les fonctions administratives non restreintes figurent parmi les causes racines les plus fréquemment citées dans les rapports post-mortem des sociétés de sécurité. L'attaquant a enregistré le stETH comme second actif, créant une classe de parts appelée rsvstETH. Les deux types de parts tiraient alors sur exactement le même solde de stETH sous-jacent.

Le contrat de l'exploit s'est autodétruit une fois l'exécution terminée. Les chercheurs en sécurité notent que les contrats à autodestruction compliquent souvent les efforts de traçage on-chain ultérieurs. ExVulSec a également confirmé que l'exploit s'est exécuté dans le constructeur du contrat.

ALERT — Exploit on Ethereum @reddio_com RedSonic Vault was drained for ~9.25 ETH. A no-capital attacker flash-loaned 1,139 WETH from Balancer, inflated the vault's share price, and cashed out. The exploit ran inside a self-destructing contract's constructor. Root cause: the… — ExVul (@exvulsec), September 5, 2026

La faille du double actif

L'attaquant a d'abord déposé 1 130 ETH, acquérant près de 99 % de l'ensemble des parts rsvETH en circulation — une position qui a préparé le reste de l'exploit. Ensuite, il a déposé 9,34 stETH directement dans le vault. Ce seul dépôt a gonflé le solde de stETH sans émettre aucune nouvelle part rsvETH.

Comme la tarification des rsvETH lit le solde brut de stETH, ce dépôt supplémentaire a artificiellement poussé le prix des parts à la hausse. Les parts rsvETH existantes de l'attaquant ont instantanément gagné en valeur, sans qu'aucun nouveau rsvETH ne soit émis.

L'attaquant a ensuite échangé ses rsvETH contre 1 139,5 ETH, selon l'analyse de transaction d'ExVulSec — un remboursement qui a généré l'intégralité du profit de 9,25 ETH. Il a également échangé séparément les parts rsvstETH contre du stETH. Le même collatéral sous-jacent a effectivement été payé deux fois à partir d'un solde commun et mutualisé du vault.

ExVulSec a rapporté que le stETH récupéré a été échangé contre de l'ETH sur Curve, et que le flash loan de Balancer a été remboursé au sein de la même transaction.

Détails on-chain

Les données d'Etherscan indiquent que le portefeuille de l'attaquant est 0x70f2333d21Ed7E7D105F6578227A9A747687982C. Le contrat du RedSonic Vault se trouve à l'adresse 0x4315990d9eeaffdfafd49958b4851f203fa1126f, et la transaction de l'attaque porte le hash 0xe3cba90e865c6cba950ebce36a52607f51f1fd33cd9fb920c78803f19b57791a. La transaction reste publiquement consultable sur Etherscan pour quiconque souhaite vérifier les détails de l'exploit. Comme l'attaque complète, y compris l'enregistrement de la seconde classe d'actifs, s'est exécutée de manière atomique en une seule transaction, l'analyse forensique on-chain permet de reconstituer chaque étape, même si le contrat de l'exploit n'existe plus.

Source : Blockonomi