---
id: CVE-2026-114115
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…
severity: low
cvss: 3.7
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N'
cvssSource: cna
cwe:
  - CWE-843
vendor: vyperlang
product: vyper
affected:
  - vyper >= 0.3.8 <= 0.5.0b1
published: '2026-10-21'
updated: '2026-10-21'
sourceUpdated: '2026-10-21T00:37:13.251Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-114115'
references:
  - url: 'https://github.com/vyperlang/vyper/security/advisories/GHSA-cw3h-xwxq-8cx2'
    label: GitHub Security Advisory (GHSA-cw3h-xwxq-8cx2)
  - url: 'https://github.com/vyperlang/vyper/commit/1fb7dfe2'
    label: Patch Commit
  - url: >-
      https://www.vulncheck.com/advisories/vyper-0.3.8-through-0.5-0b1-memory-misread-via-ternary-nested-array-selection
    label: >-
      VulnCheck Advisory: Vyper 0.3.8 through 0.5.0b1 Memory Misread via Ternary
      Nested Array Selection
tags:
  - cve.org
ingestedAt: '2026-10-21T01:37:08.009Z'
---

## Overview

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.

## Affected

- `vyper >= 0.3.8 <= 0.5.0b1`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
