Description (CNA)
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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| vyperlang / vyper | affected 0.3.8 through 0.5.0b1 |
CWE
CWE-682
References
- https://github.com/vyperlang/vyper/security/advisories/GHSA-6j9c-gvcw-74fj
- https://www.vulncheck.com/advisories/vyper-0.3.8-through-0.5-0b1-optimizer-miscompilation-of-msg-value-k-in-ternary-branches
ADP enrichment
No English description supplied.