What’s Vulnerable › Vulnerabilities
CVE-2026-114117: Vyper 0.3.8 through 0.5.0b1 Optimizer Miscompilation of msg.value | K in Ternary Branches
- Severity: medium (CVSS 5.9 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-10-21 · updated 2026-10-22
- Weakness: CWE-682
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.
Affected products
- vyperlang vyper: from 0.3.8 through 0.5.0b1
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
- https://github.com/vyperlang/vyper/security/advisories/GHSA-6j9c-gvcw-74fj
Get alerted when CVE-2026-114117 or the next vulnerability affects your stack