Lumi Finance подвергся атаке, потеря составила около 270 тысяч долларов
Согласно данным ChainCatcher и анализу GoPlus, на платформе Arbitrum Lumi Finance подвергся атаке 13 июля, понеся убытки примерно в 270 тысяч долларов.
Причина уязвимости заключалась в логической ошибке функции validateUserOp в смарт-контракте умного аккаунта Sodium (ERC-4337) — при верификации подписи с помощью _validateSignature, в процессе выполнения isValidSignatureNow в качестве параметра signer подставлялся адрес атакующего. После ошибки при вызове ECDSA.tryRecover транзакция не откатывалась (не происходил revert), а вместо этого осуществлялся вызов функции isValidSignature в контракте атаки, которая успешно проходила проверку. Злоумышленник воспользовался данной уязвимостью, чтобы во время валидации UserOperation провести операцию Token approve и получить права на одобрение ERC20 токенов с нескольких смарт-аккаунтов без согласия плательщика.
Дисклеймер: содержание этой статьи отражает исключительно мнение автора и не представляет платформу в каком-либо качестве. Данная статья не должна являться ориентиром при принятии инвестиционных решений.
