PatchSiren cyber security CVE debrief
CVE-2026-114117 vyperlang CVE debrief
A vulnerability in Vyper versions 0.3.8 through 0.5.0b1 allows for optimizer miscompilation of msg.value | K in ternary branches, potentially leading to incorrect recording of deposits and locking of funds. This issue arises from the optimizer's incorrect handling of ternary expressions involving bitwise OR operations with nonzero integer literals, affecting storage writes, arithmetic, indexes, return values, or events. Defenders should assess exposure and verify affected versions to mitigate potential impacts.
- Vendor
- vyperlang
- Product
- vyper
- CVSS
- HIGH 8.2
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-10-21
- Original CVE updated
- 2026-10-21
- Advisory published
- 2026-10-21
- Advisory updated
- 2026-10-21
Who should care
Defenders responsible for Vyper contracts and deployments should assess exposure and verify affected versions. This includes operators of Vyper-based systems, security teams managing vulnerability response, and platform administrators overseeing affected components. They should prioritize verifying affected Vyper versions and assessing exposure in their environments to prevent potential incorrect recording of deposits and locking of funds.
Why it matters
Defenders should prioritize verifying affected Vyper versions and assessing exposure in their environments to prevent potential incorrect recording of deposits and locking of funds.
- Incorrect recording of deposits
- Locking of funds due to miscompilation
Technical summary
The vulnerability occurs in Vyper versions 0.3.8 through 0.5.0b1, where the optimizer miscompiles (msg.value | K) or (len(msg.data) | K) in ternary branches, leading to incorrect values being used in storage writes, arithmetic, indexes, return values, or events. This miscompilation can result in incorrect recording of deposits and locking of funds without warning or revert. The issue is specific to the optimizer's handling of bitwise OR operations with nonzero integer literals in ternary expressions under -O gas (the default) or -O codesize.
Defensive priority
Defenders should prioritize verifying affected Vyper versions and assessing exposure in their environments.
Recommended defensive actions
- Verify Vyper versions in use and assess exposure
- Review contracts for potential incorrect recording of deposits
- Consider upgrading to a non-affected version of Vyper
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up
- Review the supplied official advisory or CVE record to validate affected scope, severity, and vendor guidance
- Plan vendor-supported updates or mitigations through normal change control where exposure is confirmed
- Check relevant monitoring, detection, and logs for exposed assets that need extra review
Evidence notes
The vulnerability is described in the CVE record and source item from cve_program_cvelist_v5. The affected versions of Vyper are 0.3.8 through 0.5.0b1. Evidence is limited to public CVE details and source item descriptions. Defenders should verify affected Vyper versions in their environments and review contracts for potential miscompilation impacts.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-114117 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-114117
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-114117 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-114117
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Vyper 0.3.8 through 0.5.0b1 Optimizer Miscompilation of msg.value | K in Ternary Branches
Unverified legacy reference
URL: https://raw.githubusercontent.com/CVEProject/cvelistV5/main/cves/2026/114xxx/CVE-2026-114117.json
cve_program_cvelist_v5
-
Source reference
Unverified legacy reference
URL: https://github.com/vyperlang/vyper/security/advisories/GHSA-6j9c-gvcw-74fj
Supplemental source - vendor-advisory
-
Source reference
Unverified legacy reference
URL: https://www.vulncheck.com/advisories/vyper-0.3.8-through-0.5-0b1-optimizer-miscompilation-of-msg-value-k-in-ternary-branches
Supplemental source - third-party-advisory
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.