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

Vulnerabilidad en Vyper (CVE-2025-47285)

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), `concat()` puede omitir la evaluación de efectos secundarios cuando la longitud de un argumento es cero. Esto se debe a una ruta rápida en la implementación que omite la evaluación de expresiones de argumentos cuando su longitud es cero. En la práctica, sería muy inusual en el código de usuario construir cadenas de bytes de longitud cero utilizando una expresión con efectos secundarios, ya que estas cadenas se construyen típicamente con el literal vacío `b""`; la única manera de construir una cadena de bytes vacía con efectos secundarios sería con el operador ternario introducido en la v0.3.8, por ejemplo, `b"" if self.do_some_side_effect() else b""`. La corrección está disponible en la solicitud de incorporación de cambios 4644 y se espera que forme parte de la versión 0.4.2. Como workaround, no se deben incluir efectos secundarios en expresiones que construyen cadenas de bytes de longitud cero.