Исследователи компании по безопасности блокчейнов и смарт-контрактов из Certik напомнили, что сегодня были зафиксированы атаки на контракты Penpie платформы Pendle в сетях Ethereum и Arbitrum. В результате хакер с адресом 0x7A2f…d1B похитил 11,109 ETH на сумму примерно $27 млн. Аналитики объяснили, что взлом был проведен с использованием уязвимости в функции PendleStaking.batchHarvestMarketRewards()`, в которой отсутствовала защита от повторного входа (reentrancy lock).
По словам экспертов, атака злоумышленника была тщательно спланирована: он создал пару контрактов для управления доходностью, которые использовали заранее подготовленный контракт для стандартизированной прибыли. Затем была настроена новая торговая площадка на Penpie. Хакер добавил ликвидность, взятую из флэш-кредита, в Pendle рынки и получил LP-токены, которые были использованы для дальнейших манипуляций с контрактом Penpie.
Эти манипуляции позволили ему удвоить первоначальные депозиты LP и вернуть ликвидность, получив прибыль в виде ETH и других токенов.
Процесс атаки начался с вызова функции `PendleStaking.batchHarvestMarketRewards()`, которая направляла запрос на обновление наград на новую торговую площадку, где уже находился вредоносный контракт. После этого хакер инициировал повторный вход (reentrancy) в систему. Это дало возможность искусственно увеличить баланс контракта и требовать больше вознаграждений, чем он изначально внес. В конечном итоге, злоумышленник успешно вывел все средства, и снял их с ликвидности, половина из которых была использована для погашения флэш-кредита. По мнению экспертов Certik, подобный инцидент в очередной раз подчеркивает важность реализации защиты от повторного входа в смарт-контракты и необходимость более тщательного аудита кода.
crypto.ru