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

Vulnerabilidad en era-compiler-vyper (CVE-2023-46232)

Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
25/10/2023
Última modificación:
06/11/2023

Descripción

era-compiler-vyper es el compilador EraVM Vyper para zkSync Era, un paquete acumulativo de capa 2 que utiliza pruebas de conocimiento cero para escalar Ethereum. Antes de la versión 1.3.10 de era-compiler-vype, un error impedía la inicialización de la primera variable inmutable para los contratos de Vyper que cumplían ciertos criterios. El problema surge cuando hay un String o Array con más palabras de 256 bits asignadas que inicializadas. Esto da como resultado que el índice de la segunda palabra no esté configurado, que efectivamente se establece en 0, por lo que el primer valor inmutable con el índice 0 real se sobrescribe en ImmutableSimulator. La versión 1.3.10 soluciona este problema configurando todos los índices por adelantado. El problema desaparecerá, pero será más costoso si el usuario asigna una gran cantidad de espacio no inicializado, por ejemplo, `String[4096]`. Actualizar y redistribuir los contratos afectados es la única forma de solucionar el problema.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:matter-labs:zkvyper:*:*:*:*:*:*:*:* 1.3.10 (excluyendo)