DeFi-протокол Yearn Finance опубликовал post-mortem отчет по атаке на yETH, произошедшей на прошлой неделе, указав, что арифметическая ошибка в старом пуле stableswap позволила злоумышленнику «заминтить практически неограниченное» количество LP-токенов и вывести около 9 миллионов долларов активов. Yearn также подтвердил, что часть украденных средств была возвращена.
По данным Yearn, пул yETH weighted stableswap был эксплуатирован на блоке 23.914.086 30.11.2025 после серии сложных операций, в результате которых решатель (solver) пула оказался в некорректном состоянии, что в итоге привело к ошибке arithmetic underflow.
Вторые и третьи версии хранилищ, а также другие продукты не пострадали; ущерб был сосредоточен только на yETH и связанных интеграциях.
Пул, подвергшийся атаке, является кастомным stableswap, агрегирующим несколько токенов liquid staking (LST), таких как apxETH, sfrxETH, wstETH, cbETH, rETH, ETHx, mETH, wOETH и пул yETH/WETH. До инцидента эти пулы удерживали корзину LST и 298,35 WETH.
Post-mortem делит атаку на три этапа:
Злоумышленник вносил крайне несбалансированные депозиты ликвидности, выводя фиксированный solver пула за пределы проектного диапазона. Это привело к тому, что внутренняя переменная (Π) упала до 0, нарушив инвариант weighted stableswap и позволив создать чрезмерное количество LP-токенов. 2. Вывод всех активов через remove_liquidity
Получив избыточное количество LP, злоумышленник многократно вызывал remove_liquidity и связанные функции для вывода почти всей ликвидности LST, перекладывая ошибочную стоимость минтинга на протокольную ликвидность (POL). В результате внутренний запас пула был исчерпан, хотя ERC-20 баланс оставался. 3. Повторная активация «bootstrap» и бесконечный минт
Злоумышленник повторно использовал фазу инициализации пула, предназначенную только для первого запуска. Отправив некорректные «dust» параметры, нарушающие доменные условия, он вызвал операцию unsafe_sub с underflow, что позволило заминтить «почти бесконечное» количество yETH LP и затем вывести все из пула yETH/ETH на Curve.
Yearn сообщил, что совместно с Plume и Dinero был возвращен 857,49 pxETH; возврат был произведен 01.12. Эти средства будут распределены пропорционально между депозиторами yETH по состоянию на момент до атаки.
Около 1.000 ETH, украденных в ходе инцидента, были отправлены в Tornado Cash в ночь происшествия, остальная часть также была переведена через Tornado 05.12. The Block ранее отмечал, что около 3 миллионов долларов в ETH были отправлены в миксер сразу после атаки.
Yearn подчеркнул, что yETH работает на принципах самоуправления согласно YIP-72 и по принципу «Используйте на свой страх и риск», а команда Yearn и сообщество YFI не несут ответственности за компенсацию. Все возвращенные активы будут переданы пострадавшим пользователям.
Для предотвращения повторения инцидента Yearn предложил следующие меры:
Yearn отметил, что ChainSecurity помогала с анализом первопричин, а SEAL 911 — с реагированием на инцидент и возвратом активов. Расследование и отслеживание средств злоумышленника продолжаются.
Вуон Тян