Из‑за резкого уничтожения монет внутренние записи пула перестали соответствовать реальным балансам токенов. Проще говоря, пул по‑прежнему считал, что располагает определенным количеством токенов, хотя реальные объемы уже изменились. Этим воспользовались злоумышленники: дисбаланс позволил злоумышленнику извлечь токены LABUBU с минимальными затратами, используя небольшое количество токенов OLPC на входе.
Причина взлома связана с функцией в контракте OLPC, где стоимость могла сгорать на основе функции decimalsValue, считают эксперты блокчейн-безопасности. Этот механизм выполнял роль множителя в функции сжигания токенов — то есть определял, сколько токенов будет сожжено при выполнении операции. Примерно за 46 дней до атаки владелец опасного контракта OLPC изменил параметр на чрезвычайно большое число 7 326 680 472 586 200 649, выяснили аналитики. Это значительно увеличило объем токенов OLPC, которые могли быть сожжены во время определенных операций.
Злоумышленники опустошил часть пула с токенами LABUBU и начали перемещать украденные активы через другие торговые пары — LABUBU/WBNB и WBNB/$USDT. В итоге удалось конвертировать все в примерно 1 115 903 $USDT.
После кражи средств хакеры не задержались надолго в одной сети. Аналитики PeckShieldAlert сообщили, что средства были переведены из $BNB Chain в Эфириум. Оттуда около 633,4 $ETH были отправлены в миксер Tornado Cash. Небольшие суммы — 0,0221 $BNB и 0,0411 $ETH — отправились на «мертвый адрес», что усложнило отслеживание средств.
Накануне злоумышленники воспользовались уязвимостью смарт-контракта ICS-20 сети Secret Network и похитили активы на $4,67 млн. Под атаку попал канал взаимодействия между Secret Network и протоколом Axelar, используемый для перевода средств между двумя экосистемами.