CVE-2024-32481: falha de média gravidade em vyperlang vyper
vyper's range(start, start + N) reverts for negative numbers
Publicada em · Atualizada em
Aviso por e-mail quando ela entrar no KEV, ganhar PoC pública ou subir de nota.
Sem sinal de exploração. Nenhum artefato público de exploração conhecido até agora.
Contratos Vyper que usam loops range com valores iniciais negativos falham inesperadamente. É um bug na geração de código do Vyper que torna esses loops inutilizáveis quando o valor inicial é negativo.
Trata-se de um erro de comparação numérica incorreta na geração de código do Vyper para range() com inteiros com sinal. Quando start é negativo em range(start, start + N), o compilador usa incorretamente comparação sem sinal (le) em vez de com sinal (sle), fazendo o valor negativo ser interpretado como um inteiro sem sinal muito grande, causando falha sempre na asserção.
No mesmo produto, das mais perigosas para as menos.