🚨 Взлом Tonnel V4: что произошло 11 октября
Атакующий использовал ошибку, позволявшую повторно получать деньги по уже использованному запросу. Признаков получения административного доступа в проверенной цепочке нет: для этой схемы ключ разработчика не требовался.
По сообщению разработчика, инцидент затронул старый протокол V4. Gift Marketplace не пострадал.
⚙️ Как происходила кража
Это была последовательность операций, а не один мгновенный вывод.
Время — по МСК:
20:47 — после первоначального финансирования адрес внёс средства в V4. Затем начались повторяющиеся выплаты по 164,5 TON.
21:02 — атакующий купил около 8 522,73 TONNEL за 2 700 TON. Покупка произошла уже после выплат из контракта — всю сумму нельзя считать его первоначальными вложениями.
21:07 — отправил около 8 484,94 TONNEL в протокол. Затем многократно получал примерно 8 441,73 TONNEL + 1 TONNEL.
21:45 — перевёл около 112 861 TONNEL на следующий кошелёк, где затем проходили продажи. Эта сумма не равна автоматически чистому ущербу: нужно учитывать внесения и возвраты.
🧩 В чём была ошибка
Протокол сохранял отметки «этот вывод уже использован» во вспомогательных контрактах. Атакующий заставлял основной контракт уничтожать эти отметки, после чего повторял запрос.
Проверенный пример: выплата в 21:14:15, удаление двух отметок, затем такая же выплата в 21:14:56. Тела запросов полностью совпадали. Первая операция.
Удаление уже использованной отметки удалось воспроизвести локально на байткоде из сети. Код вспомогательного контракта совпал с исходниками; полное соответствие основного контракта репозиторию не подтверждено.
⏱ Рассмотренный участок от первого депозита до последней выплаты занял почти 54 минуты. Это были многократные целенаправленные действия.
🕵️ Кто за этим стоит
В нашем круге TON-билдеров около 500 человек, многие знакомы друг с другом.
Post #908
512

- 🕊 1