PT-2020-21417 · Vyper · Vyper

Publicado

2020-03-25

·

Atualizado

2020-03-25

Nenhuma

Não há classificações de severidade ou métricas disponíveis. Quando houver, atualizaremos as informações correspondentes na página.
Nome do software vulnerável e versões afetadas
Vyper (versões afetadas não especificadas)
Descrição
O problema decorre de uma especificação ABI mal definida, que permite que funções retornem valores que podem ser armazenados em variáveis de tipos diferentes sem conversão explícita ou validação de entrada. Especificamente, o retorno de uma função do tipo uint8 pode ser armazenado em uma variável do tipo uint256. A ausência de tipos uint8 no Vyper e o fato de que ERC20.decimals() retorna uint8 podem levar a cenários em que um valor inesperadamente grande retornado por essa função possa ser explorado. O número estimado de dispositivos potencialmente afetados não foi fornecido, e não há informações sobre incidentes reais em que essa vulnerabilidade tenha sido explorada.
Recomendações
Como solução temporária, considere adicionar uma verificação para garantir que o valor retornado por uma interface que especifique uint8 esteja dentro dos limites de um inteiro uint8, como assert decimals < 256.
No momento, não há informações sobre uma versão mais recente que contenha uma correção para essa vulnerabilidade.
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Identificadores relacionados

GHSA-MR6R-MVW4-736G

Produtos afetados

Vyper