Contract misexecution via discarded loop bounds
Published Aug 15, 2024 · Updated Aug 16, 2024
Incorrect loop compilation in Matter Labs ZKsync Vyper Compiler 1.3.12 through 1.5.2 allows attackers to cause loss of funds via loop stops. The compiler discards Vyper's bound parameter when lowering range loops to the LLL repeat instruction, causing generated code to use a later exit condition. Exposure requires a contract compiled with the affected release and a variable-ended range loop whose extra iterations have consequences; common array iteration is unaffected, and no affected contracts were identified.
Summary
What happened
Incorrect loop compilation in Matter Labs ZKsync Vyper Compiler 1.3.12 through 1.5.2 allows attackers to cause loss of funds via loop stops. The compiler discards Vyper's bound parameter when lowering range loops to the LLL repeat instruction, causing generated code to use a later exit condition. Exposure requires a contract compiled with the affected release and a variable-ended range loop whose extra iterations have consequences; common array iteration is unaffected, and no affected contracts were identified.
The record
- CVE
- CVE-2024-43366
- Published
- Aug 15, 2024
- Updated
- Aug 16, 2024
- Vendor
- Matter Labs
- Product
- ZKsync Vyper Compiler
- Classifications
- CWE-835
- Attack vector
- network
- Privileges
- unauthenticated
Timeline
How it unfolded
- Aug 15, 2024CVE publishedPublication date reported by the CVE source.
- Aug 16, 2024Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=>= 1.3.12, < 1.5.3
- Affected versionversion=1.3.12 <1.5.3
What conditions does exploitation require?
What is affected?
Published CVSS scores
CVSS describes severity. EPSS estimates exploitation probability.
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Weakness, pattern, technique
Public exploit references
- Ignored loop range bounds demonstrationproof of concept · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo