CVE-2024-43366

zkvyper ignored loop range bounds

Published Aug 15, 2024 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
Description
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2024-40254 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.
History
Type Values Removed Values Added
First Time appeared Matter-labs zkvyper
CPEs cpe:2.3:a:matter-labs:zkvyper:*:*:*:*:*:*:*:*
Vendors & Products Matter-labs zkvyper
Type Values Removed Values Added
First Time appeared Matter-labs
Matter-labs era-compiler-vyper
CPEs cpe:2.3:a:matter-labs:era-compiler-vyper:*:*:*:*:*:*:*:*
Vendors & Products Matter-labs
Matter-labs era-compiler-vyper
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description 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.
Title zkvyper ignored loop range bounds
Weaknesses CWE-835
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Aug 16, 2024, 5:07 PM
Reserved
Aug 9, 2024, 2:23 PM
Status
Analyzed
Published
Aug 15, 2024, 9:15 PM
Modified
Jun 17, 2026, 7:50 AM