Vyper 0.3.8 through 0.5.0b1 contains an optimizer miscompilation in which (msg.value | K) or (len(msg.data) | K), where K is any nonzero integer literal, is compiled to the constant 1 when used as a ternary expression branch under -O gas (the default) or -O codesize. Affected contracts use the wrong value in storage writes, arithmetic, indexes, return values, or events without warning or revert, which can record deposits incorrectly and lock funds.
Metrics
Affected Vendors & Products
References
History
Wed, 21 Oct 2026 21:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
Wed, 21 Oct 2026 00:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Vyper 0.3.8 through 0.5.0b1 contains an optimizer miscompilation in which (msg.value | K) or (len(msg.data) | K), where K is any nonzero integer literal, is compiled to the constant 1 when used as a ternary expression branch under -O gas (the default) or -O codesize. Affected contracts use the wrong value in storage writes, arithmetic, indexes, return values, or events without warning or revert, which can record deposits incorrectly and lock funds. | |
| Title | Vyper 0.3.8 through 0.5.0b1 Optimizer Miscompilation of msg.value | K in Ternary Branches | |
| First Time appeared |
Vyperlang
Vyperlang vyper |
|
| Weaknesses | CWE-682 | |
| CPEs | cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Vyperlang
Vyperlang vyper |
|
| References |
| |
| Metrics |
cvssV3_1
|
Status: PUBLISHED
Assigner: VulnCheck
Published: 2026-10-21T00:37:14.741Z
Updated: 2026-10-21T20:12:04.759Z
Reserved: 2026-10-20T21:48:58.503Z
Link: CVE-2026-114117
Updated: 2026-10-21T20:11:42.477Z
Status : Deferred
Published: 2026-10-21T01:17:38.070
Modified: 2026-10-22T17:00:33.203
Link: CVE-2026-114117
No data.