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 делит атаку на три этапа:
Серьезное нарушение баланса при add_liquidity
Злоумышленник вносил крайне несбалансированные депозиты ликвидности, выводя фиксированный 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 предложил следующие меры:
Ввести явную проверку доменных условий для solver; считать Π = 0 критической ошибкой.
Заменить все небезопасные арифметические операции на checked math в критичных участках.
Отключить или ограничить логику bootstrap после старта пула.
Жестко ограничить выпуск LP, соответствующий реальной стоимости депозита.
Расширить тестирование с помощью invariant-fuzzing, тестирования на противоположные арифметические сценарии и кросс-проверки с off-chain моделями.
Yearn отметил, что ChainSecurity помогала с анализом первопричин, а SEAL 911 — с реагированием на инцидент и возвратом активов. Расследование и отслеживание средств злоумышленника продолжаются.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Yearn Finance раскрыла арифметическую ошибку, приведшую к «бесконечному майнингу» yETH на сумму 9 миллионов долларов США
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 — с реагированием на инцидент и возвратом активов. Расследование и отслеживание средств злоумышленника продолжаются.
Вуон Тян