Cosmos Labs заявляет, что критическая уязвимость Cosmos EVM, о которой сообщили через её программу баг-баунти в апреле, была ошибочно признана не затрагивающей продакшн-сети. Злоумышленники воспользовались уязвимостью на шести цепочках в период с 20 по 25 августа 2026 года.
Согласно сообщению Cosmos Security по итогам инцидента, активность составила примерно $2,87 млн через децентрализованные биржи и еще $2,85 млн через централизованные.
Инцидент выявил многомесячный разрыв между первоначальным сообщением и релизами, которые дошли до затронутых веток незадолго до первого известного атаки. Cosmos Labs заявила, что использовала процесс тихого патчинга, потому что раннее тестирование показало, что продакшн-цепочки были безопасны; в релизы не вошло уведомление, привязанное к конкретной уязвимости.
Отчет за апрель был снят после тестирования в производственной среде
Программа bug bounty Cosmos Labs получила уведомление об уязвимости 25 апреля. Компания сообщила, что ее тестировщики сначала пришли к выводу, что производственные сети не уязвимы; использование эксплойта в августе позже опровергло эту оценку.
Позднейший постмортем назвал проблему критической уязвимостью из-за «под нулевой баланс» (balance-underflow) в Cosmos EVM — стеке, совместимом с Ethereum, который использовали затронутые сети. Поскольку производственные сети сочли безопасными, Cosmos Labs провела исправление по скрытому процессу патча, а не выпустила уведомление, адресованное конкретной уязвимости.
Таким образом, патч мог быть доступен без того, чтобы операторы знали, что он закрывает срочную проблему безопасности, и до начала атак не было дано публичного предупреждения, привязанного к конкретной уязвимости.
Неконтролируемое вычитание в StateDB создало несанкционированные балансы.
Согласно уведомлению проекта по безопасности, исходный дефект находился в StateDB Cosmos EVM. Неконтролируемое вычитание могло происходить, когда в аккаунте с вестингом (vesting) было делегировано больше, чем его доступный к трате баланс.
Вместо того чтобы «безопасно» завершиться ошибкой, баланс аккаунта «обернулся» примерно до 2256. Огромный получившийся баланс позволил атакующим переводить средства с аккаунтов, которые не авторизовали эти транзакции.
Механизм эксплойта не зависел от того, что злоумышленник получит административный доступ. Он возникал из-за самой ошибки обработки баланса, поэтому после того, как исправление стало доступно, ключевыми стали скорость и ясность обновления программного обеспечения.
Перенесенные (backported) релизы пришли за несколько часов до первой атаки.
Основная ветка Cosmos EVM получила исправление 15 мая, но оно не было перенесено назад (backported) в ветки релизов v0.6.x и v0.7.x до 19 августа. Версии v0.6.2 и v0.7.2 были опубликованы в 23:01 UTC, примерно за 20 часов до первого известного атаки, согласно постмортему инцидента MANTRA Chain.
MANTRA заявила, что такое окно было нереалистичным для организации обновления, ломающего состояние (state-breaking upgrade), в составе ее валидаторского набора, поскольку это требует координации между операторами сетей, а не обычного обновления, выполняемого одной компанией. The Block сообщил, что исправленные релизы не идентифицировали уязвимость, подтверждая рассказ MANTRA о крайне узком окне реакции.
Исправление в основной ветке, следовательно, существовало уже несколько месяцев до публикации соответствующих версий на релизных ветках.
Шестицепочечная эксплуатация перевела примерно 5,7 млн долларов через биржи.
Для всех шести эксплуатированных сетей Cosmos Labs оценивала, что было обменено примерно 5,72 млн долларов: около 2,87 млн через децентрализованные биржи и 2,85 млн через централизованные площадки. Эти цифры описывают потоки обмена, идентифицированные в постмортеме Cosmos Labs, а не полную поцепочечную (chain-by-chain) бухгалтерию понесенных потерь.
MANTRA сообщила отдельную цифру потерь токенов — 720 923 967,99 MANTRA, что оценивалось примерно в 3,6 млн долларов по цене до инцидента. Цепочка заявила, что не были скомпрометированы ключи валидаторов, администраторские ключи, элементы управления по управлению (governance controls) или подписанты multisig.
Совокупная сводная информация указывает на уязвимость в программном обеспечении, которая была сообщена в апреле, устранена после тестирования и была исправлена только в затронутых ветках релизов вскоре перед началом эксплуатации. Для операторов, запускавших эти цепочки, окно для обновления измерялось часами.
Отказ от ответственности: Эта статья предоставляется только в информационных целях. Она не предлагается и не предназначена для использования в качестве юридической, налоговой, инвестиционной, финансовой или иной консультации.
