Вложения инвесторов в депозитный контракт Ethereum 2.0 через пулы-посредники StakeWise, Lido и Rocket Pool оказались под потенциальной угрозой, подробности которой скрыты до полного устранения бага. Он был случайно обнаружен StakeWise в ходе подготовки протокола к децентрализации.
Уязвимость позволяет валидатору вывести ETH инвесторов, на нее не обращали внимание, пока протоколы находились в централизованном управлении, где подобный ход не имел никакого смысла.
Первой жертвой бага мог стать сервис Rocket Pool, который уже отложил запланированный на сегодня релиз платформы. Lido использовала похожий смарт-контракт, поэтому тоже могла оказаться в списке пострадавших.
StakeWise получит за обнаружение проблемы $100 тысяч – максимальное вознаграждение сервиса Immunefi по поиску багов.
Пользователи протокола Compound практически единогласно проголосовали за хардфорк, исправляющий проблему начисления токенов COMP в смарт-контракте Comptroller. Уязвимость была «занесена» в ходе обновления Proposal 062.
Баг нарушил алгоритм распределения стимулов, позволяя получать вознаграждение даже за предоставление нулевой ликвидности в пул или после взятия незначительного кредита.
Разработчикам Compound потребовалось 7 дней, чтобы закрыть выплаты из Comptroller, раздавшего $162 млн из которых пользователи добровольно вернули $32 млн. На создание Proposal 063 ушло несколько часов, голосование за принятие исправления, заняло неделю. Принятое вчера Proposal 064 вернет начисление выплат в Comptroller.