Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en Vyper (CVE-2025-47774)

Gravedad CVSS v4.0:
BAJA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
15/05/2025
Última modificación:
16/05/2025

Descripción

Vyper es el lenguaje de programación Pythonic para la Máquina Virtual de Ethereum. En versiones hasta la 0.4.2rc1 (incluida), la instrucción integrada `slice()` puede omitir efectos secundarios cuando la longitud de salida es 0 y la cadena de bytes de origen es una instrucción integrada (`msg.data` o `.code`). Esto se debe a que, para estas ubicaciones de origen, se omite la comprobación de que `length >= 1`. Como resultado, una cadena de bytes de longitud 0 construida con slice puede pasarse a `make_byte_array_copier`, que omite la evaluación de su argumento de origen cuando la longitud máxima es 0. Esto implica que los efectos secundarios del argumento `start` pueden omitirse cuando el argumento `length` es 0, por ejemplo, `slice(msg.data, self.do_side_effect(), 0)`. La corrección en la solicitud de incorporación de cambios 4645 impide la invocación de `slice()` con longitud 0, incluso para las ubicaciones ad hoc descritas en este aviso. Se espera que la solución sea parte de la versión 0.4.2.