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
| Vetor | AV: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
Produtos afetados
Rust-Evm