Atak flash loan wyciągnął 9,25 ETH z RedSonic Vault w pojedynczej transakcji na Ethereum
Najważniejsze informacje
- •Atak na RedSonic Vault przyniósł stratę około 9,25 ETH i został w całości sfinansowany flash loanem 1139 WETH z Balancera, bez angażowania kapitału napastnika.
- •Funkcja registerErc20 skarbca nie miała kontroli dostępu, co pozwoliło napastnikowi zarejestrować stETH jako drugi aktyw, którego udziały czerpały z tego samego bazowego salda co rsvETH.
- •Wycena udziałów zależała od surowego salda stETH w skarbcu, więc depozyt 9,34 stETH sztucznie zawyżył wartość posiadanych przez napastnika udziałów rsvETH bez emitowania nowych.
- •Napastnik zdeponował 1130 ETH, aby kontrolować około 99% udziałów rsvETH, po czym wykupił je za 1139,5 ETH, a odzyskane stETH wymienił na ETH na Curve przed spłatą flash loana w tej samej transakcji.
- •Eksploit wykonał się w konstruktorze samoniszczącego się kontraktu, ale atomowa transakcja on-chain pozostaje publicznie śledzalna przez Etherscan.

Napastnik wykorzystujący flash loan wypłacił 9,25 ETH z RedSonic Vault na Ethereum w jednej, samodzielnej transakcji. Firma bezpieczeństwa blockchainowego ExVulSec zidentyfikowała eksploit i opublikowała pełną analizę techniczną zdarzenia, do którego doszło 5 września 2026 r.
Napastnik nie potrzebował żadnego własnego kapitału początkowego. Zamiast tego sfinansował całą operację flash loanem w wysokości 1139 WETH zaciągniętym na Balancerze. Flash pożyczki pozwalają pożyczkobiorcom uzyskać dostęp do dużych kwot bez depozytu zabezpieczającego, pod warunkiem spłaty pożyczki w tej samej transakcji — mechanizm ten często służy napastnikom do finansowania ataków, które w przeciwnym razie wymagałyby znacznych środków.
Jak przebiegł atak
Źródłem ataku był sposób, w jaki skarbiec RedSonic wycenia udziały rsvETH. Wartość udziałów wylicza funkcja o nazwie getTotalAssetBalance, która dla pozycji Lido odczytuje bezpośrednio surowe saldo stETH skarbca. Ta decyzja projektowa stała się fundamentem eksploitu: ceny udziałów powiązane bezpośrednio z surowym saldem mogą się przesunąć, gdy saldo zmieni się nieoczekiwanie, bez potrzeby emisji czy spalania jakichkolwiek udziałów. Wycena wartości udziałów na podstawie surowych sald tokenów, a nie odpornej na manipulacje metody księgowej, to powtarzająca się słabość w atakach na DeFi i ten incydent wpisuje się w szerszy wzorzec.
Według ExVulSec funkcja registerErc20 skarbca nie miała żadnych ograniczeń dostępu, co oznacza, że każdy mógł zarejestrować w skarbcu nową klasę aktywów. Nieograniczone funkcje administracyjne należą do najczęściej wskazywanych przyczyn źródłowych w raportach powykonawczych firm bezpieczeństwa. Napastnik zarejestrował stETH jako drugi aktyw, tworząc klasę udziałów o nazwie rsvstETH. Oba typy udziałów czerpały następnie z dokładnie tego samego bazowego salda stETH.
Kontrakt eksploitu samozniszczył się po zakończeniu wykonania. Badacze bezpieczeństwa zwracają uwagę, że samoniszcące się kontrakty często utrudniają późniejsze śledzenie na łańcuchu. ExVulSec potwierdziła również, że eksploit wykonał się w konstruktorze kontraktu.
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
Wada podwójnego aktywa
Napastnik najpierw zdeponował 1130 ETH, uzyskując blisko 99% wszystkich wyemitowanych udziałów rsvETH — pozycja, która przygotowała resztę ataku. Następnie wpłacił 9,34 stETH bezpośrednio do skarbca. Ten jeden depozyt zawyżył saldo stETH bez emitowania jakichkolwiek nowych udziałów rsvETH.
Ponieważ wycena rsvETH opiera się na surowym saldzie stETH, dodatkowy depozyt sztucznie podniósł cenę udziałów. Posiadane przez napastnika udziały rsvETH natychmiast zyskały na wartości, bez emitowania nowych rsvETH.
Następnie, zgodnie z analizą transakcji ExVulSec, napastnik wykupił swoje rsvETH za 1139,5 ETH — wykup ten wygenerował pełny zysk 9,25 ETH. Osobno wykupił również udziały rsvstETH za stETH. Ten sam bazowy zabezpieczenie zostało w praktyce wypłacony dwukrotnie z jednego, wspólnego salda skarbca.
ExVulSec poinformowała, że odzyskane stETH zostały wymienione na ETH na Curve, a flash loan z Balancera został spłacony w tej samej transakcji.
Szczegóły on-chain
Dane Etherscan wymieniają portfel napastnika jako 0x70f2333d21Ed7E7D105F6578227A9A747687982C. Kontrakt RedSonic Vault znajduje się pod adresem 0x4315990d9eeaffdfafd49958b4851f203fa1126f, a transakcja ataku ma hash 0xe3cba90e865c6cba950ebce36a52607f51f1fd33cd9fb920c78803f19b57791a. Transakcja pozostaje publicznie dostępna na Etherscan dla każdego, kto chce zweryfikować szczegóły eksploitu. Ponieważ cały atak, łącznie z rejestracją drugiej klasy aktywów, wykonał się atomowo w jednej transakcji, analityka on-chain może odtworzyć każdy krok, mimo że sam kontrakt eksploitu już nie istnieje.
Źródło: Blockonomi