Skip to content
Heist/ feed
Back to feed
Medium

Vyper 0.3.8 through 0.5.0b1 Memory Misread via Ternary Nested Array Selection

Type: advisorySources: OSV

Vyper 0.3.8 through 0.5.0b1 contains a compiler miscompilation vulnerability in parse_IfExp that reads nested arrays with narrower inner bounds using the wider result type's memory layout. When a ternary selects the narrower array, inner arrays after the first are read at wrong offsets, causing contracts to silently store corrupted values or revert.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-114115
Confirmed fixed CVEs
Not specified
Updated in this feed
8 Nov 2026, 03:35 UTC · Revision 1

Source evidence

Vyper 0.3.8 through 0.5.0b1 Memory Misread via Ternary Nested Array Selection

core-osv · Original source

Published 21 Oct 2026, 00:37 UTC

Vyper 0.3.8 through 0.5.0b1 contains a compiler miscompilation vulnerability in parse_IfExp that reads nested arrays with narrower inner bounds using the wider result type's memory layout. When a ternary selects the narrower array, inner arrays after the first are read at wrong offsets, causing contracts to silently store corrupted values or revert.

osv:CVE-2026-114115
Complete source record
{
  "id": "5bc5b7024f432e0db50515d16f09051d1911db1a50948335c8fae342428abb2c",
  "url": "https://osv.dev/vulnerability/CVE-2026-114115",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Vyper 0.3.8 through 0.5.0b1 Memory Misread via Ternary Nested Array Selection",
    "summary": "Vyper 0.3.8 through 0.5.0b1 contains a compiler miscompilation vulnerability in parse_IfExp that reads nested arrays with narrower inner bounds using the wider result type's memory layout. When a ternary selects the narrower array, inner arrays after the first are read at wrong offsets, causing contracts to silently store corrupted values or revert.",
    "evidence": "osv:CVE-2026-114115",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-114115",
      "aliases": [
        "CVE-2026-114115",
        "GHSA-cw3h-xwxq-8cx2"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/vyperlang/vyper",
              "type": "GIT",
              "events": [
                {
                  "introduced": "036f153683e0d55b890305eb4c77680a0872fcba"
                },
                {
                  "fixed": "1fb7dfe2"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0.3.8"
                      },
                      {
                        "last_affected": "0.5.0b1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "fixed": "1fb7dfe2"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-114115.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:53.167402615Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114115.json",
        "https://github.com/vyperlang/vyper/security/advisories/GHSA-cw3h-xwxq-8cx2",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-114115",
        "https://www.vulncheck.com/advisories/vyper-0.3.8-through-0.5-0b1-memory-misread-via-ternary-nested-array-selection",
        "https://github.com/vyperlang/vyper/commit/1fb7dfe2"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-843"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114115.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-114115",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 522260,
  "published_at": "2026-10-21T00:37:13.251+00:00"
}