Твит был удалён автором.
Но мы всё сохранили 🙂.
Владелец криптокошелька потерял около 2 900 rsETH стоимостью $7,8 млн из-за уязвимости в механизме авторизации вспомогательного смарт-контракта. Исследователи безопасности выяснили, что проблема не затронула основные контракты Safe, а возникла в стороннем компоненте, которому пользователь разрешил доступ к активам.
Эта статья была переведена с оригинала. Читайте оригинальную версию от нашего корреспондента здесь.
Атака произошла в сети Ethereum и затронула кошелек Gnosis Safe. Для автоматизации транзакций владелец разрешил вспомогательному контракту перемещать средства от его имени — такая схема обычно используется, например, для автоматизированной торговли.
Посмотреть публикацию в X Загрузка...
Однако проверка контроля доступа в контракте была реализована некорректно. По данным SlowMist и BlockSec, система фактически позволяла любому пользователю выполнить транзакцию, если в качестве цели указывался сам вспомогательный контракт.
Использовав уязвимость, атакующий инициировал своп примерно 2 900 rsETH через торговый пул, созданный всего за несколько минут до этого с практически ничего не стоящим токеном Permissionless Attacker Token. В результате кошелек был настроен на обмен ликвидных активов на токены без реальной стоимости.
Однако первоначальному атакующему не удалось завершить операцию. Автоматизированный бот под названием yoink обнаружил транзакцию и провел ее с опережением, заплатив около $47 000 за приоритет.
В результате бот получил активы и перевел 2 882 rsETH на отдельный адрес. Аналитики подтвердили, что средства были перехвачены путем проведения исходной атакующей транзакции с опережением.
AstraSec назвала первопричиной инцидента ошибочную проверку авторизации в контракте Multicall. Другие исследователи безопасности также пришли к выводу, что уязвимость находилась не в основных контрактах Safe, а в компоненте, которому владелец кошелька самостоятельно предоставил доверенные разрешения.
Kelp DAO, эмитент rsETH, заявила, что ее собственные контракты остались защищенными, а токен был полностью обеспечен залогом. После выявления подозрительной активности проект временно ограничил транзакции с адресом, на который поступили украденные активы.
Ограничение было введено на 24 часа. В течение этого периода rsETH нельзя было переводить на подозрительный адрес или с него, пока команда расследовала инцидент.
Ранее аналогичный инфраструктурный инцидент произошел в Liquid Network. Хакеры вывели около 4 000 BTC стоимостью примерно $320 млн из кошелька, в котором хранилось Bitcoin-обеспечение LBTC, что побудило сеть приостановить работу.
На момент атаки эта сумма составляла около 95% резервов Bitcoin в Liquid Network, которые до инцидента насчитывали примерно 4 200 BTC. Часть средств позднее была возвращена после устранения уязвимости.
Ранее мы сообщали, что блокчейн Cronos был полностью остановлен после атаки на Tectonic, крупнейший кредитный протокол в его экосистеме. Предварительные потери от эксплуатации уязвимости оценивались примерно в $75 млн.