Quick answers
- Is CVE-2026-114117 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-114117 being exploited in the wild.
- How severe is CVE-2026-114117?
- Medium severity, with a CVSS score of 5.9, published 21 October 2026.
- Which products and versions are affected?
- Vyper 0.3.8 through 0.5.0b1.
- Is there a fix for CVE-2026-114117?
- No fixed version is recorded yet. Compile affected contracts with the -O none flag to disable optimization, or avoid using bitwise-or expressions with integer literals in ternary branches until a patch is released. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
- How is CVE-2026-114117 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-114117?
- Check whether you run Vyper at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
Compile affected contracts with the -O none flag to disable optimization, or avoid using bitwise-or expressions with integer literals in ternary branches until a patch is released.
Technical details
The optimizer in vyper/ir/optimizer.py incorrectly rewrites (or x K) to 1 for expressions in ternary branches, treating both value branches as if they were conditions. The bug affects msg.value and len(msg.data) with any nonzero integer literal K when the -O gas or -O codesize optimization flags are used (default is -O gas). Exploitation requires deploying a vulnerable contract; the miscompiled code runs without warning or revert, causing logic errors in storage writes, array indexing, and return values.
Affected products
- Vyper Vyper 0.3.8 through 0.5.0b1
Timeline
- 2026-10-02: disclosed
- 2026-10-20: advisory