Telegram-бот Maestro подвергся атаке хакера
В контракте крупного проекта Telegram-бота Maestro Router 2 обнаружилась «уязвимость внешнего вызова». Эта ошибка использована злоумышленником. Киберпреступник сумел похитить более 280 ETH. Разработчики Maestro опубликовали заявление, в котором сказано, что проблема решена. Однако токены в пулах SushiSwap, ShibaSwap и ETH PancakeSwap будут временно недоступны.
«Слабым звеном» действительно стала уязвимость в контракте Router 2, благодаря которой злоумышленник перевел токены на свой кошелек. Это удалось сделать так, как он получил «предварительное одобрение по конкретному контракту». После продажи цифровых активов «хакер отмыл доходы, конвертировав их в эфиры, и использовал микшер RailGun, чтобы скрыть следы своих действий».
Исследователи пояснили, что контракт Maestro Router 2 функционирует аналогично прокси-серверу, подобному ERC-1967. Он делегирует операции на другой адрес, отвечающий за контроль логики, связанной со свопами и стимулированием создателей блоков.
«Суть взлома заключалась в раскрытой функции маршрутизатора. Она при вызове откладывалась к назначенной реализации и позволяла злоумышленнику похитить токены непосредственно у ничего не подозревающих юзеров, используя метод функции transferFrom», — сообщили разработчики.
Более глубинное исследование контракта реализации прокси-сервера с помощью декомпилятора dedaub, показало: данная функция позволяет осуществлять «произвольные вызовы контракта токена». Злоумышленник использовал ее для для быстрого накопления токенов и последующей мгновенной конвертации в криптовалюту Ethereum (ETH).
Команда Maestro в течение 30 мин «заменила реализацию скомпрометированного маршрутизатора контрактом счетчика-заполнителя». Этот шаг обеспечил немедленное предотвращение любых несанкционированных передач. Таким образом разработчикам удалось остановить потери пользователей.