Attaccante con flash loan sottrae 9,25 ETH dal RedSonic Vault in un'unica transazione su Ethereum
Punti chiave
- •L'attacco al RedSonic Vault ha causato una perdita di circa 9,25 ETH ed è stato finanziato interamente tramite un flash loan di 1.139 WETH da Balancer, senza alcun capitale da parte dell'attaccante.
- •La funzione registerErc20 del vault era priva di controlli di accesso, permettendo all'attaccante di registrare stETH come secondo asset le cui quote attingevano dallo stesso saldo sottostante delle rsvETH.
- •Il prezzo delle quote dipendeva dal saldo stETH grezzo del vault, quindi un deposito di 9,34 stETH ha gonfiato artificialmente il valore delle rsvETH già detenute dall'attaccante senza coniare nuove quote.
- •L'attaccante ha depositato 1.130 ETH per controllare circa il 99% delle quote rsvETH, per poi riscattarle per 1.139,5 ETH, con lo stETH recuperato convertito in ETH su Curve prima del rimborso del flash loan nella stessa transazione.
- •L'exploit è stato eseguito nel costruttore di un contratto auto-distruttivo, ma la transazione atomica on-chain rimane tracciabile pubblicamente su Etherscan.

Un attaccante che ha utilizzato un flash loan ha sottratto 9,25 ETH dal RedSonic Vault di Ethereum in un'unica transazione autosufficiente. La società di sicurezza blockchain ExVulSec ha identificato l'exploit e pubblicato un'analisi tecnica completa dell'incidente, avvenuto il 5 settembre 2026.
L'attaccante non ha richiesto alcun capitale iniziale proprio. Ha invece preso in prestito tramite flash loan 1.139 WETH da Balancer per finanziare l'intera operazione. I flash loan permettono ai richiedenti di accedere a grandi somme senza fornire garanzie, a condizione che il prestito venga rimborsato entro la stessa transazione — un meccanismo che gli attaccanti usano frequentemente per finanziare exploit che richiederebbero altrimenti ingenti capitali iniziali.
Come si è svolto l'exploit
La radice dell'attacco risiedeva nel modo in cui il vault di RedSonic prezza le proprie quote rsvETH. Il vault calcola il valore delle quote tramite una funzione chiamata getTotalAssetBalance, che, per la posizione Lido, legge direttamente il saldo stETH grezzo del vault. Questa scelta progettuale è diventata il fondamento dell'exploit: i prezzi delle quote legati direttamente a un saldo grezzo possono variare se tale saldo cambia inaspettatamente, senza che sia necessario coniare o bruciare quote corrispondenti. Il pricing del valore delle quote basato su saldi grezzi di token, anziché su un metodo contabile resistente alla manipolazione, è una debolezza ricorrente negli exploit DeFi, e questo incidente si inserisce in quel pattern più ampio.
Secondo ExVulSec, la funzione registerErc20 del vault non aveva restrizioni di accesso, il che significava che chiunque poteva registrare una nuova classe di asset all'interno del vault. Le funzioni amministrative senza restrizioni sono tra le cause più citate nei report post-mortem delle società di sicurezza. L'attaccante ha registrato stETH come secondo asset, creando una classe di quote chiamata rsvstETH. Entrambi i tipi di quote attingevano quindi dal medesimo saldo stETH sottostante.
Il contratto dell'exploit si è auto-distrutto al termine dell'esecuzione. I ricercatori di sicurezza sottolineano che i contratti auto-distruttivi spesso complicano le successive attività di tracciamento on-chain. ExVulSec ha inoltre confermato che l'exploit è stato eseguito all'interno del costruttore del contratto.
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 falla del doppio asset
L'attaccante ha prima depositato 1.130 ETH, acquisendo quasi il 99% di tutte le quote rsvETH in circolazione — una posizione che ha preparato il resto dell'exploit. Successivamente ha depositato 9,34 stETH direttamente nel vault. Quel singolo deposito ha gonfiato il saldo stETH senza coniare nuove quote rsvETH.
Poiché il pricing delle rsvETH legge il saldo stETH grezzo, il deposito aggiuntivo ha spinto artificialmente verso l'alto il prezzo delle quote. Le rsvETH già detenute dall'attaccante hanno così guadagnato valore all'istante, senza che venissero emesse nuove rsvETH.
L'attaccante ha poi riscattato le proprie rsvETH per 1.139,5 ETH, secondo l'analisi delle transazioni di ExVulSec — un riscatto che ha generato l'intero profitto di 9,25 ETH. Ha inoltre riscattato separatamente le quote rsvstETH in stETH. Il medesimo collateral sottostante è stato di fatto pagato due volte da un unico saldo condiviso e in pool del vault.
ExVulSec ha riferito che lo stETH recuperato è stato convertito in ETH su Curve e che il flash loan di Balancer è stato rimborsato entro la stessa transazione.
Dettagli on-chain
I dati di Etherscan indicano il wallet dell'attaccante come 0x70f2333d21Ed7E7D105F6578227A9A747687982C. Il contratto del RedSonic Vault si trova all'indirizzo 0x4315990d9eeaffdfafd49958b4851f203fa1126f, e la transazione dell'attacco ha hash 0xe3cba90e865c6cba950ebce36a52607f51f1fd33cd9fb920c78803f19b57791a. La transazione rimane pubblicamente consultabile su Etherscan per chiunque voglia verificare i dettagli dell'exploit. Poiché l'attacco completo, inclusa la registrazione della seconda classe di asset, è stato eseguito atomicamente in un'unica transazione, la forensica on-chain può ricostruire ogni passo anche se il contratto dell'exploit non esiste più.
Fonte: Blockonomi