Компания Debaub, занимающаяся аудитом безопасности, заявила, что обнаружила критическую уязвимость в смарт-контракте Uniswap Univeral Router, которая позволяла третьим лицам красть средства во время передачи токенов. Средства не были украдены, а ошибка была исправлена командой Uniswap. За обнаружение Debaub получила вознаграждение в размере 40 000 USDC.
Уязвимость была обнаружена в контракте универсального маршрутизатора Uniswap, новой технологии и языке сценариев, который позволяет пользователям обменивать несколько токенов на NFT за одну транзакцию.
Debaub написала в Твиттере, что уязвимость могла позволить кому-то внедрить сторонний код во время перевода и украсть средства.
«Очевидно, что UniversalRouter не должен хранить какие-либо балансы между транзакциями, иначе они могут быть опустошены кем угодно», — написал основатель Debaub Яннис Смарагдакис.
Контракт UniversalRouter способен выполнять несколько транзакционных команд подряд на серверной части, что улучшает взаимодействие с пользователем. Debaub обнаружил, что в контракте не было так называемой блокировки повторного входа, которая не позволяет хакерам выполнять дополнительные команды во время переводов, которые позволили бы им украсть средства.
Debaub заявил, что получил немедленное подтверждение от команды Uniswap несколько недель назад, когда впервые обнаружил уязвимость. За обнаружение ошибки компания получила 40 000 USDC.