Старый контракт Dolomite потерял $1,8 млн из‑за эксплоита одобрения
Согласно отчету платформы безопасности блокчейна CertiK от 20 марта, старый контракт, ранее использовавшийся криптовалютной биржей Dolomite, подверглсся эксплоиту примерно на 1,8 миллиона долларов. Эксплоит затронул пользователей, которые ранее подписали разрешение для контракта, и команда разработчиков рекомендовала отозвать одобрение для адреса Dolomite, который начинается с 0xe2466 на Ethereum.
Команда разработчиков заявила, что это не должно затронуть пользователей, которые взаимодействовали только с текущей версией на блокчейне Arbitrum (ARB). Разработчики также отключили неисправный контракт, что должно защитить пользователей, еще не ставших жертвами атаки. Несмотря на это, команда утверждает, что пользователи должны отозвать одобрение этого контракта.
Источник: Dolomite.
Dolomite — это децентрализованный протокол обмена и денежного рынка, который в настоящее время работает на Arbitrum и Polygon zkEVM. Первоначально он был запущен на Ethereum в 2019 году. Команда перенесла его в сеть Arbitrum в 2022 году и постепенно прекратила поддержку версии для Ethereum. Но из-за неизменной природы смарт-контрактов пользователи по-прежнему могут взаимодействовать с его версией на Ethereum, используя инструменты разработчика.
Согласно отчету CertiK, злоумышленник воспользовался функцией callFunction, которая позволяет пользователю совершать любые произвольные вызовы. Эта функция защищена модификатором noEntry, который при нормальных обстоятельствах должен предотвращать любые повторные атаки. Однако эту защиту можно обойти с помощью контракта TradeManager, расположенного по адресу 0xe2466, который содержит функцию «вызова», не имеющую защиты повторного входа. Таким образом, злоумышленник смог использовать этот контракт для вывода средств пользователей, утверждают в CertiK.
По словам CertiK, злоумышленник перевел все украденные средства на адрес 0x5eAA7DadA44d59549A6c58008b2bd3C7F81d2502, а затем отправил их в миксер Tornado Cash (TORN).
Этот эксплоит — один из нескольких, произошедших в марте. 11 марта протокол Unizen (ZCX) на Ethereum потерял более 2,1 миллиона долларов из-за эксплоита одобрения. В этом случае команда разработчиков пообещала возместить расходы пользователям как можно скорее. 15 марта Mozaic Finance потеряла более 2,4 миллиона долларов из-за компрометации закрытого ключа.