A BitsLab, através da TonBit, descobriu novamente uma vulnerabilidade crítica na Máquina virtual TON e recebeu agradecimentos oficiais da TON.

robot
Geração de resumo em curso

Autor: TonBit

Introdução:

A BitsLab, através da TonBit, descobriu novamente uma vulnerabilidade crítica na máquina virtual TON e recebeu agradecimentos oficiais do TON: o comando INMSGPARAM não realizava a verificação de ponteiro nulo ao processar os parâmetros da mensagem, o que poderia levar à falha da máquina virtual TON.

TON correção de falhas oficial e agradecimentos Link de detalhes do TonBit:

Recentemente, a TonBit, pertencente à BitsLab, descobriu uma grave vulnerabilidade de segurança no código-fonte mais recente do TVM (ramo master / TON v2025.04) — a instrução INMSGPARAM não realiza a verificação de ponteiro nulo ao processar parâmetros de mensagem, o que pode levar à falha da máquina virtual TON. Esta vulnerabilidade está também oculta no fluxo de chamadas profundas do TVM, permitindo que um atacante, ao construir parâmetros de mensagem especiais, faça com que a VM desencadeie uma desreferência de ponteiro nulo durante a execução, resultando em interrupção da execução, o que afeta gravemente a disponibilidade e a estabilidade da execução de contratos. O conteúdo a seguir mantém detalhes técnicos, para que os desenvolvedores possam avaliar e prevenir.

Descobrimos esta vulnerabilidade antes do lançamento no TVM11 e imediatamente a reportamos ao Ton Core, evitando assim que a vulnerabilidade representasse um risco de segurança para qualquer ativo em cadeia. O Ton Core analisou cuidadosamente o nosso relatório, corrigiu a vulnerabilidade antes do lançamento oficial e nos concedeu uma recompensa e agradecimentos. Agradecemos sinceramente ao Ton Core pelo seu profissionalismo e atitude de cumprimento.

O código afetado (localizado em crypto/vm/tonops.cpp) é o seguinte:

Causa raiz:

Esta linha de código

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

Não foi feita a verificação se a variável t é nullptr. Se o slot 0 do registrador c7 for configurado para um 17º elemento que não é do tipo Tuple, as_tuple() retornará um ponteiro nulo. Quando esse ponteiro nulo t é passado para tuple_index, provoca uma desreferenciação de ponteiro nulo, resultando na falha da máquina virtual. Este erro grave pode ser reproduzido de forma estável na versão global 11 (Global Version 11).

Código POC:

Para facilitar os testes locais (porque global_version é geralmente configurado pela cadeia), modificámos a inicialização da máquina virtual na função run_vm_code, definindo global_version forçosamente como 11:

Copie o código PoC para o arquivo crypto/test/vm.cpp.

De acordo com o método acima, modifique run_vm_code e defina global_version como 11.

Compile e execute o arquivo executável test-vm.

Colapso:

A máquina virtual pode falhar devido à desreferenciação de um ponteiro nulo:

Em resumo, a TonBit, subsidiária da BitsLab, mantém sempre o princípio de "foco na segurança e divulgação responsável", continuando a explorar e corrigir vulnerabilidades críticas no código base da máquina virtual TON. Desde os riscos de migração não atômica da instrução RUNVM até o problema de desreferenciação de ponteiro nulo da instrução INMSGPARAM, a TonBit, com sua competência técnica profissional e rápida capacidade de resposta, reportou imediatamente ao Ton Core e colaborou na correção, garantindo não apenas a segurança dos ativos na blockchain, mas também promovendo a estabilidade e confiabilidade do TVM. No futuro, a TonBit continuará a colaborar estreitamente com o Ton Core e a comunidade para construir uma defesa de segurança Web3 mais sólida.

Sobre o TonBit

TonBit, como a marca principal da BitsLab, é especialista em segurança e um dos primeiros construtores do ecossistema TON. Como principal fornecedor de garantias de segurança da blockchain TON, a TonBit se concentra em auditorias de segurança abrangentes, incluindo auditorias das linguagens Tact e FunC, garantindo que os projetos baseados em TON possuam integridade e resiliência. Até agora, a TonBit auditou com sucesso vários projetos conhecidos, incluindo Catizen, Algebra, UTonic, entre outros, e identificou várias vulnerabilidades críticas, demonstrando nossa capacidade excepcional na área de segurança de blockchain. Além disso, a TonBit também organizou com sucesso a competição TON CTF, atraindo muitos participantes e recebendo ampla atenção, consolidando ainda mais sua posição como especialista em segurança no ecossistema TON. No futuro, a TonBit continuará a proteger a segurança da blockchain, promovendo o desenvolvimento contínuo da tecnologia e do ecossistema.

Ver original
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.
  • Recompensa
  • Comentar
  • Partilhar
Comentar
0/400
Nenhum comentário
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)