BitsLab旗下 TonBit снова обнаружил ключевую уязвимость TON Виртуальной машины и получил благодарность от официальных TON

robot
Генерация тезисов в процессе

Автор: TonBit

Введение:

Компания BitsLab снова обнаружила ключевую уязвимость в TON виртуальной машине и получила благодарность от официальных представителей TON: команда INMSGPARAM не проверяет указатель на нулевое значение при обработке параметров сообщений, что может привести к сбою TON виртуальной машины.

Официальное исправление уязвимости TON и благодарности Ссылка на детали TonBit:

Недавно в последнем исходном коде TVM (ветка master / TON v2025.04) под брендом BitsLab TonBit была обнаружена серьезная уязвимость безопасности — команда INMSGPARAM не проверяет указатели на нулевые значения при обработке параметров сообщений, что может привести к сбою виртуальной машины TON. Эта уязвимость также скрыта в глубоком процессе вызова TVM, и злоумышленник может вызвать разыменование нулевого указателя, создав специальные параметры сообщения, что приведет к прерыванию выполнения и серьезно повлияет на доступность и стабильность выполнения контрактов. Следующий контент содержит технические детали для глубокого анализа и предотвращения разработчиками.

Мы обнаружили этот уязвимость до запуска TVM11 и немедленно сообщили об этом в Ton Core, что позволило избежать риска безопасности для любых активов на блокчейне. Ton Core внимательно проанализировал наш отчет, исправил уязвимость до официального запуска и выплатил нам вознаграждение и благодарность. Мы искренне благодарим Ton Core за профессионализм и соблюдение обязательств.

Затронутый код (расположенный в crypto/vm/tonops.cpp) выглядит следующим образом:

Коренная причина:

Эта строка кода

Ref t = get_param(st, inmsgparams_idx).as_tuple();

Не было проверки, является ли переменная t равной nullptr. Если слот 0 регистра c7 настроен на кортеж, в котором 17-й элемент не является типом Tuple, as_tuple() вернет нулевой указатель. Когда этот нулевой указатель t передается в tuple_index, произойдет разыменование нулевого указателя, что приведет к сбою виртуальной машины. Эта серьезная ошибка стабильно воспроизводится в глобальной версии 11 (Global Version 11).

POC код:

Для удобства локального тестирования (поскольку global_version обычно задается конфигурацией цепочки), мы изменили инициализацию виртуальной машины в функции run_vm_code, принудительно установив global_version равным 11:

Скопируйте код PoC в файл crypto/test/vm.cpp.

Измените run_vm_code указанным выше способом, установив global_version на 11.

Скомпилируйте и запустите исполняемый файл test-vm.

Крушение:

Виртуальная машина может аварийно завершиться из-за разыменования нулевого указателя:

В заключение, TonBit под управлением BitsLab всегда придерживался принципов "углубленной безопасности и ответственной отчетности", постоянно исследуя и исправляя ключевые уязвимости в основном коде виртуальной машины TON. От проблемы неатомарной миграции инструкции RUNVM до проблемы разыменования нулевого указателя в инструкции INMSGPARAM, TonBit с профессиональной технической силой и высокой скоростью реакции в первую очередь представил отчет Ton Core и помог в исправлении, что не только эффективно обеспечило безопасность активов на цепи, но и способствовало повышению стабильности и надежности TVM. В будущем TonBit продолжит тесное сотрудничество с Ton Core и сообществом, чтобы вместе создать более прочную линию защиты безопасности Web3.

О компании TonBit

TonBit, как основной суббренд BitsLab, является экспертом по безопасности и ранним строителем в экосистеме TON. В качестве основного поставщика обеспечения безопасности блокчейна TON, TonBit сосредоточен на всестороннем аудите безопасности, включая аудит языков Tact и FunC, обеспечивая целостность и устойчивость проектов на базе TON. На сегодняшний день TonBit успешно провел аудит нескольких известных проектов, включая Catizen, Algebra, UTonic и выявил несколько ключевых уязвимостей, продемонстрировав наши выдающиеся способности в области безопасности блокчейна. Кроме того, TonBit успешно провел соревнования TON CTF, привлек множество участников и получил широкое внимание, что进一步 укрепило его статус эксперта по безопасности в экосистеме TON. В будущем TonBit продолжит обеспечивать безопасность блокчейна и способствовать постоянному развитию технологий и экосистемы.

Посмотреть Оригинал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Награда
  • комментарий
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить