PT-2024-18980 · Rust-Evm · Rust-Evm

Sorpaas

·

Publicado

2024-01-02

·

Atualizado

2024-01-09

·

CVE-2024-21629

CVSS v3.1

5.9

Média

VetorAV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
Nome do software vulnerável e versões afetadas
Versões do rust-evm anteriores à 0.41.1
Descrição
O problema está relacionado ao recurso record external operation no rust-evm, que permite aos usuários da biblioteca registrar alterações personalizadas no gas. Esse recurso pode causar interações incorretas com a pilha de chamadas, particularmente durante a finalização de um CREATE ou CREATE2. Se a execução do substack ocorrer com sucesso, o rust-evm primeiro confirmará o subestado e, em seguida, chamará record external operation(Write(out code.len())). Se record external operation falhar posteriormente, esse erro é retornado à pilha de chamadas pai, em vez de Succeeded. No entanto, o commit do subestado já ocorreu, fazendo com que os contratos inteligentes confirmem alterações de estado quando o contrato chamador pai recebe um endereço nulo, o que geralmente indica que a execução falhou. Este problema afeta apenas usuários da biblioteca com record external operation personalizado que retorna erros.
Recomendações
Para versões anteriores à 0.41.1, atualize para a versão 0.41.1 para resolver o problema. Como solução alternativa temporária, considere desativar o recurso record external operation até que um patch esteja disponível. Restrinja o acesso à função record external operation para minimizar o risco de exploração. Evite usar a função record external operation no endpoint da API afetado até que o problema seja resolvido.

Exploit

Correção

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2024-21629
GHSA-27WG-99G8-2V4V

Produtos afetados

Rust-Evm