Согласно анализу исследователей из SlowMist, 22 августа 2023 года команда разработчиков Balancer объявила об обнаружении серьезной уязвимости, затрагивающей несколько пулов V2 Boost. Это затронуло 1,4% от общей стоимости заблокированных средств (TVL). Несколько из этих пулов были временно приостановлены, и пользователи получили рекомендацию вывести свои активы из пулов ликвидности (LP).
Впоследствии система MistEye выявила подозрительные транзакции, которые использовали уязвимость в Balancer. Попытка временной остановки работы пулов оказалась неэффективной, и некоторые из них оставались уязвимыми перед атаками. Исследователи установили, что причина заключалась в функции BatchSwap, которая обеспечивает атомарные обмены между разными пулами, соединяя выход одного пула с входом другого (tokenIn и tokenOut) и обменивая USDC на токены BPT.
Важно отметить, что фактическая передача токенов не происходит, а объемы обмена подтверждаются через запись сумм входящих и исходящих токенов. Этот процесс обмена выявил две уязвимости безопасности.
Первая уязвимость заключалась в том, что злоумышленники могли односторонне уменьшать стоимость основных токенов, округляя их в меньшую сторону. Это давало им возможность манипулировать обменным курсом внутри соответствующего составного пула.
Вторая проблема связана с расчетом виртуального предложения путем вычитания баланса пула из токенов BPT. Злоумышленники могли использовать BPT в качестве входных данных и манипулировать их предложением до нуля, а затем выполнить обратный обмен, превратив BPT в выходные данные. Этот процесс приводил к выполнению транзакции по курсу, близкому к 1 к 1, что было ниже текущего курса линейного пула.
В результате первая уязвимость увеличивала обменный курс при конвертации, а вторая, при обратном обмене, снижала его. Злоумышленники использовали обе уязвимости для своей выгоды и покинули протокол.
Комментарии