Solana Wormhole мост хакнули на $320М. Как это произошло?
12 часов назад одной транзакцией было перемещено 80к эфира на адрес злоумышленника:
etherscan.io/tx/0x24…e93e5f14
На счету эксплоитера сейчас 93 750 ETH, рассмотрим хронику событий:
etherscan.io/address…f796b71a
Транзакция, которая вывела 80 000 ETH, на самом деле была переводом 80 000 ETH из Соланы в Ethereum.
Первый эксплоит произошел благодаря транзакции на Солане, которая наминтила из ниоткуда 120 000 «wormhole ETH»:
solscan.io/tx/2zCz…eBEcD6Es
Злоумышленник вначале смог создать на стороне Соланы wormhole ETH, а затем смог корректно воспользоваться мостом, чтобы снять ETH с депозитного контракта Wormhole сети ETH.
Транзакция, которая произвела минт имела функцию complete_wrapped. Одним из параметров, которые принимает эта функция, является «transfer message», в основном сообщение, подписываемое гардианами (защитниками моста), в котором говорится, какой токен чеканить и в каком количестве.
Исполнение смарт-контрактов на Солане необычное, поэтому этот параметр там является самостоятельным смарт-контрактом.
Этот контракт с функцией "transfer message" триггерит функцию "post_vaa".
"post_vaa" функция не проверяет подписи. Вместо этого, в типичном солана стиле - другой смарт-контракт вызывает функцию смарт-контракта "verify_signatures".
Неправильное использование уязвимости данного смарт-контракта привели к возможности подменить системный адрес, отвечающий за проверку достоверности депозита на стороне Соланы эфира и в результате позволило злоумышленнику из воздуха чеканить кучу необеспеченных wormhole ETH.
Эксплоит был исправлен, денежные средства недвижимы на счету хакера.
Хайлайт разбора взлома взят из твиттер-треда:twitter.com/kelvinf…47375616
Ethereum (ETH) detailed transaction info for txhash 0x24c7d855a0a931561e412d809e2596c3fd861cc7385566fd1cb528f9e93e5f14. The transaction status, block confirmation, gas fee, Ether (ETH), and token transfer are shown.