Атака с флеш-кредитом вывела 9,25 ETH из хранилища RedSonic в одной транзакции Ethereum
Ключевые выводы
- •Атака на хранилище RedSonic привела к потере около 9,25 ETH и была полностью профинансирована флеш-кредитом на 1 139 WETH от Balancer, не потребовав собственного капитала злоумышленника.
- •Функция registerErc20 хранилища не имела контроля доступа, что позволило злоумышленнику зарегистрировать stETH как второй актив, доли которого опирались на тот же базовый баланс, что и rsvETH.
- •Ценообразование долей зависело от «сырого» баланса stETH хранилища, поэтому депозит в 9,34 stETH искусственно завысил стоимость уже имевшихся у злоумышленника долей rsvETH без выпуска новых.
- •Злоумышленник внёс 1 130 ETH, чтобы контролировать около 99% долей rsvETH, затем обменял их на 1 139,5 ETH, а полученный stETH был обменян на ETH на Curve до погашения флеш-кредита в той же транзакции.
- •Эксплойт был выполнен в конструкторе самоликвидирующегося контракта, однако атомарная транзакция в блокчейне остаётся общедоступной для отслеживания через Etherscan.

Злоумышленник с помощью флеш-кредита вывел 9,25 ETH из хранилища RedSonic в сети Ethereum в одной самодостаточной транзакции. Компания ExVulSec, специализирующаяся на безопасности блокчейнов, идентифицировала эксплойт и опубликовала полный технический разбор инцидента, произошедшего 5 сентября 2026 года.
Атакующему не потребовался собственный стартовый капитал. Вместо этого он взял флеш-кредит в размере 1 139 WETH на Balancer для финансирования всей операции. Флеш-кредиты позволяют заёмщикам получать крупные суммы без залога при условии погашения кредита в той же транзакции — этот механизм злоумышленники часто используют для проведения атак, которые в ином случае потребовали бы значительного стартового капитала.
Как разворачивался эксплойт
Причина атаки крылась в том, как хранилище RedSonic определяет цену своих долей rsvETH. Хранилище рассчитывает стоимость долей через функцию getTotalAssetBalance, которая для позиции Lido напрямую считывает «сырой» баланс stETH хранилища. Это проектное решение стало фундаментом эксплойта: цены долей, привязанные напрямую к «сырому» балансу, могут измениться при неожиданном изменении этого баланса, при этом не требуется выпуска или сжигания соответствующих долей. Расчёт стоимости долей на основе «сырых» балансов токенов вместо устойчивого к манипуляциям метода учёта — повторяющаяся уязвимость в эксплойтах DeFi, и данный инцидент вписывается в эту общую закономерность.
По данным ExVulSec, функция registerErc20 хранилища не имела ограничений доступа, то есть любой мог зарегистрировать в хранилище новый класс активов. Неограниченные административные функции — одна из наиболее часто называемых первопричин в посмертных отчётах компаний по безопасности. Злоумышленник зарегистрировал stETH в качестве второго актива, создав класс долей под названием rsvstETH. Оба типа долей затем опирались на один и тот же базовый баланс stETH.
Контракт эксплойта самоликвидировался после завершения выполнения. Исследователи по безопасности отмечают, что самоликвидирующиеся контракты часто затрудняют последующую трассировку в блокчейне. ExVulSec также подтвердила, что эксплойт выполнялся внутри конструктора контракта.
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
Уязвимость двойного актива
Сначала злоумышленник внёс 1 130 ETH, приобретя почти 99% всех выпущенных долей rsvETH — позиция, подготовившая почву для остальной части атаки. Затем он депонировал 9,34 stETH напрямую в хранилище. Этот единственный депозит увеличил баланс stETH без выпуска новых долей rsvETH.
Поскольку ценообразование rsvETH считывает «сырой» баланс stETH, дополнительный депозит искусственно повысил цену долей. В результате уже имевшиеся у злоумышленника доли rsvETH мгновенно выросли в цене, при этом новые rsvETH не выпускались.
Затем, согласно анализу транзакции ExVulSec, злоумышленник обменял свои rsvETH на 1 139,5 ETH — эта единственная операция погашения принесла полную прибыль в 9,25 ETH. Кроме того, он отдельно обменял доли rsvstETH на stETH. Один и тот же базовый залог фактически был выплачен дважды из одного общего пула баланса хранилища.
ExVulSec сообщила, что полученный stETH был обменян на ETH на Curve, а флеш-кредит Balancer был погашен в той же транзакции.
Детали в блокчейне
По данным Etherscan, кошелёк злоумышленника: 0x70f2333d21Ed7E7D105F6578227A9A747687982C. Контракт хранилища RedSonic расположен по адресу 0x4315990d9eeaffdfafd49958b4851f203fa1126f, а хеш транзакции атаки — 0xe3cba90e865c6cba950ebce36a52607f51f1fd33cd9fb920c78803f19b57791a. Транзакция остаётся общедоступной на Etherscan для всех, кто желает проверить детали эксплойта. Поскольку вся атака, включая регистрацию второго класса активов, была выполнена атомарно в одной транзакции, специалисты по блокчейн-криминалистике могут реконструировать каждый шаг, даже несмотря на то, что сам контракт эксплойта больше не существует.
Источник: Blockonomi