Vyper · Vyper · CVE-2024-22419
**Nome do software vulnerável e versões afetadas**
Versões do Vyper 0.3.0 a 0.3.9
**Descrição**
A função integrada `concat` pode escrever além dos limites do buffer de memória que lhe foi alocado e, assim, sobrescrever dados válidos existentes. A causa principal é que o `build IR` da função `concat` não segue corretamente a API das funções de cópia. Foi realizada uma pesquisa de contratos e não foram encontrados contratos vulneráveis em produção. O estouro de buffer pode resultar na alteração da semântica do contrato. O estouro depende do comprimento e, portanto, pode passar despercebido durante os testes do contrato. No entanto, certamente nem todas as utilizações de `concat` resultarão na sobrescrita de dados válidos, pois exigimos que ele esteja em uma função interna e próximo à instrução de retorno, onde não ocorrem outras alocações de memória.
**Recomendações**
Para as versões 0.3.0 a 0.3.9, atualize para a versão 0.4.0 para resolver o problema.
Como solução alternativa temporária, considere evitar o uso da função `concat` em funções internas próximas à instrução de retorno, onde não ocorrem outras alocações de memória.
Restrinja o acesso à função `concat` vulnerável para minimizar o risco de exploração.