Vulnerabilidade de estouro de inteiro exposta pela linguagem Move, risco de colapso do nó chama a atenção

A linguagem Move apresenta novamente uma vulnerabilidade crítica: o estouro de inteiro pode causar a falha do nó

Recentemente, pesquisadores de segurança descobriram uma nova vulnerabilidade de estouro de inteiro ao analisar profundamente a linguagem Move, que pode levar ao colapso do Nó. Essa vulnerabilidade existe no módulo de verificação de segurança de referências da linguagem Move, envolvendo análise de blocos básicos e o processo de mesclagem de estados.

Numen Cyber descobriu uma nova vulnerabilidade crítica na linguagem move

A linguagem Move realiza a verificação de código antes da execução do bytecode, dividindo-se em 4 etapas. A vulnerabilidade descoberta desta vez ocorreu na fase de verificação de segurança (reference_safety). Esta fase analisa os blocos básicos na função e verifica a legalidade das operações de referência.

Numen Cyber descobriu uma nova vulnerabilidade crítica na linguagem move

Durante o processo de verificação, será mantida uma estrutura AbstractState, que contém a variável local (locals) e o gráfico de relações de empréstimo (borrow graph). Ao analisar o bloco básico, serão executadas instruções dentro do bloco para gerar o estado pós, que será então combinado com o estado pré para atualizar o estado.

Numen Cyber descobriu uma outra vulnerabilidade crítica na linguagem move

A vulnerabilidade surge na função join_ em estado de mesclagem. Esta função percorre a variável locals, mas locals contém os parâmetros da função e as variáveis locais. Quando a soma do número de parâmetros e do número de variáveis locais excede 256, ocorre um estouro de inteiro devido ao uso do tipo u8 para iteração.

Numen Cyber descobriu uma nova vulnerabilidade crítica na linguagem move

Os atacantes podem construir blocos de código de loop especiais, aproveitando esse estouro para alterar o estado. Na próxima rodada de análise, alguns comandos podem acessar índices locais que não existem, resultando em um panic que leva ao colapso do nó.

Numen Cyber descobriu uma outra vulnerabilidade crítica na linguagem move

Os pesquisadores apresentaram uma prova de conceito (PoC), que pode acionar um panic na segunda rodada de análise ao configurar 264 variáveis locais. Isso expõe a falta de verificações de segurança suficientes na linguagem Move em tempo de execução.

Numen Cyber descobriu uma nova vulnerabilidade crítica na linguagem move

Esta vulnerabilidade mais uma vez demonstra que, mesmo a linguagem Move, que enfatiza a segurança, pode ter falhas. Recomenda-se que os designers da linguagem Move adicionem mais verificações de segurança em tempo de execução, em vez de depender apenas da análise estática na fase de validação. Também se alerta os desenvolvedores para fortalecerem a auditoria de código, a fim de evitar descuidos semelhantes.

Numen Cyber descobriu uma nova vulnerabilidade crítica na linguagem move

Numen Cyber descobriu uma nova vulnerabilidade crítica na linguagem move

Numen Cyber descobriu uma nova vulnerabilidade crítica na linguagem move

Numen Cyber descobriu uma vulnerabilidade crítica na linguagem move

Numen Cyber descobriu uma nova vulnerabilidade crítica na linguagem move

Numen Cyber descobriu uma nova vulnerabilidade crítica na linguagem move

Numen Cyber descobriu uma nova vulnerabilidade crítica na linguagem move

Numen Cyber descobriu uma nova vulnerabilidade crítica na linguagem move

Numen Cyber descobriu uma nova vulnerabilidade crítica na linguagem move

MOVE1.25%
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • 5
  • Repostar
  • Compartilhar
Comentário
0/400
SmartContractPhobiavip
· 08-02 02:38
move quebrou tudo, o nativo também quebrou
Ver originalResponder0
CoconutWaterBoyvip
· 07-30 03:38
move falhou novamente, já era hora de trocar
Ver originalResponder0
SchrodingerWalletvip
· 07-30 03:36
move voltou a falhar
Ver originalResponder0
0xDreamChaservip
· 07-30 03:34
move outra vez? Não é rápido o suficiente para a graduação
Ver originalResponder0
GasFeeCryvip
· 07-30 03:25
move aconteceu mais uma vez
Ver originalResponder0
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)