Skip to content
Heist/ feed
High

Vyper 0.3.8 through 0.5.0b1 Optimizer Miscompilation of msg.value | K in Ternary Branches

Type: advisorySource: Official CVE List1 source record

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.

Announced Group revision 1
Original source ↗

CVE-2026-114117

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-114117

vyper

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "vendor": "vyperlang",
    "product": "vyper",
    "versions": [
      {
        "status": "affected",
        "version": "0.3.8",
        "versionType": "python",
        "lessThanOrEqual": "0.5.0b1"
      }
    ],
    "packageURL": "pkg:pypi/vyper",
    "defaultStatus": "unaffected"
  }
]
Related CVEs
CVE-2026-114117

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

Event
#49449 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement