CVE-2024-43366

zkvyper is a Vyper compiler. Starting in version 1.3.12 and prior to version 1.5.3, since LLL IR has no Turing-incompletness restrictions, it is compiled to a loop with a much more late exit condition. It leads to a loss of funds or other unwanted behavior if the loop body contains it. However, more real-life use cases like iterating over an array are not affected. No contracts were affected by this issue, which was fixed in version 1.5.3. Upgrading and redeploying affected contracts is the only way to avoid the vulnerability.
Configurations

Configuration 1 (hide)

cpe:2.3:a:matter-labs:zkvyper:*:*:*:*:*:*:*:*

History

27 Sep 2024, 18:08

Type Values Removed Values Added
CPE cpe:2.3:a:matter-labs:zkvyper:*:*:*:*:*:*:*:*
References () https://github.com/matter-labs/era-compiler-vyper/security/advisories/GHSA-8j77-7rrv-6pxx - () https://github.com/matter-labs/era-compiler-vyper/security/advisories/GHSA-8j77-7rrv-6pxx - Exploit, Third Party Advisory
CVSS v2 : unknown
v3 : 7.5
v2 : unknown
v3 : 9.1
First Time Matter-labs zkvyper
Matter-labs

19 Aug 2024, 13:00

Type Values Removed Values Added
Summary
  • (es) zkvyper es un compilador de Vyper. A partir de la versión 1.3.12 y antes de la versión 1.5.3, dado que LLL IR no tiene restricciones de incompletitud de Turing, se compila en un bucle con una condición de salida mucho más tardía. Conduce a una pérdida de fondos u otro comportamiento no deseado si el cuerpo del bucle lo contiene. Sin embargo, otros casos de uso de la vida real, como iterar sobre una matriz, no se ven afectados. Ningún contrato se vio afectado por este problema, que se solucionó en la versión 1.5.3. Actualizar y reimplementar los contratos afectados es la única manera de evitar la vulnerabilidad.

15 Aug 2024, 21:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-08-15 21:15

Updated : 2024-09-27 18:08


NVD link : CVE-2024-43366

Mitre link : CVE-2024-43366

CVE.ORG link : CVE-2024-43366


JSON object : View

Products Affected

matter-labs

  • zkvyper
CWE
CWE-835

Loop with Unreachable Exit Condition ('Infinite Loop')