CVE-2024-32481: fallo de gravedad media en vyperlang vyper
vyper's range(start, start + N) reverts for negative numbers
Publicada el · Actualizada el
Aviso por correo cuando entre en el KEV, tenga PoC pública o suba de nota.
Sin señal de explotación. Ningún artefacto público de explotación conocido hasta ahora.
Los contratos Vyper que usan bucles range con valores iniciales negativos fallan inesperadamente. Es un fallo en la generación de código de Vyper que inutiliza estos bucles cuando el valor inicial es negativo.
Implica una comparación numérica incorrecta en la generación de código del range() de Vyper para enteros con signo. Cuando start es negativo en range(start, start + N), el compilador usa incorrectamente comparación sin signo (le) en lugar de con signo (sle), haciendo que el valor negativo se interprete como un entero sin signo muy grande, causando siempre fallo en la asserción.
En el mismo producto, de las más peligrosas a las menos.