Децентрализованный финансовый протокол Yearn Finance вновь стал жертвой эксплуатации уязвимости, на этот раз в устаревшем хранилище (vault) V1, связанном со стейблкоином TrueUSD (TUSD). Как сообщила компания по безопасности блокчейна PeckShield, злоумышленникам удалось похитить активы на сумму около $300 000, которые были впоследствии конвертированы в 103 ETH и отправлены на адрес 0x0F21…4066.
Атака была осуществлена через так называемое «хранилище iearn TUSD», которое, несмотря на свою устарелость и наличие более новых версий, всё ещё развернуто в сети Ethereum. Исследователь Weilin Li объяснил, что уязвимость заключалась в конфигурации одной из стратегий хранилища, которая использовала Fulcrum sUSD vault для расчёта цены акций исключительно на основе баланса sUSD. Это создало возможность для «атаки с пожертвованием» (donation attack).
Злоумышленник, используя флеш-кредиты, внес в хранилище sUSD, что искусственно завысило расчётную цену акций. Последующий вызов функции ребалансировки, которая выводила все базовые активы в sUSD (не учитываемый в расчётах), привёл к резкому обвалу цены акций хранилища практически до нуля. Воспользовавшись этим, атакующий внёс небольшую сумму TUSD, получил огромное количество токенов Yearn TUSD по минимальной стоимости и обменял их в пулах ликвидности Curve, извлекая прибыль за счёт поставщиков ликвидности, после чего погасил флеш-кредиты.
Этот инцидент стал повторением аналогичной атаки 2023 года, которая привела к потере более $10 миллионов. Тогда уязвимость содержалась в неизменяемом контракте yUSDT, развёрнутом ещё на ранних этапах развития протокола. Представитель команды Yearn под ником storming0x подтвердил факт взлома, заверив пользователей в безопасности текущих контрактов. Однако, как отмечают наблюдатели, на обнаружение уязвимости в контракте yUSDT ушло 1156 дней.
Инцидент с Yearn произошёл менее чем через неделю после аналогичного взлома на сумму $2,7 миллиона, связанного со старым контрактом Ribbon Finance (ребренд Aevo). Эти события вновь поднимают вопросы о рисках, связанных с устаревшими и неизменяемыми смарт-контрактами в экосистеме DeFi, которые не могут быть исправлены после развёртывания.