---
id: CVE-2026-114663
title: >-
  Vyper 0.4.0b1 through 0.5.0b1 Name Shadowing of Imported Constants and Default
  Arguments
summary: >-
  Vyper 0.4.0b1 through 0.5.0b1 miscompiles unfoldable constants and omitted
  default arguments from imported modules, because parse_Name resolves their
  names in the using function's scope rather than at declaration. When a
  contract's param…
severity: high
cvss: 8.4
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
cwe:
  - CWE-706
vendor: vyperlang
product: vyper
affected:
  - vyper >= 0.4.0b1 <= 0.5.0b1
published: '2026-10-22'
updated: '2026-10-22'
sourceUpdated: '2026-10-22T01:43:46.942Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-114663'
references:
  - url: 'https://github.com/vyperlang/vyper/security/advisories/GHSA-2489-32vh-8rrc'
    label: GitHub Security Advisory (GHSA-2489-32vh-8rrc)
  - url: >-
      https://www.vulncheck.com/advisories/vyper-0.4-0b1-through-0.5-0b1-name-shadowing-of-imported-constants-and-default-arguments
    label: >-
      VulnCheck Advisory: Vyper 0.4.0b1 through 0.5.0b1 Name Shadowing of
      Imported Constants and Default Arguments
tags:
  - cve.org
ingestedAt: '2026-10-22T02:23:25.178Z'
---

## Overview

Vyper 0.4.0b1 through 0.5.0b1 miscompiles unfoldable constants and omitted default arguments from imported modules, because parse_Name resolves their names in the using function's scope rather than at declaration. When a contract's parameter, local, or loop variable shares such a name, attacker-influenced input can replace the intended value, including out-of-range values for narrow types such as uint8, corrupting validation or accounting logic.

## Affected

- `vyper >= 0.4.0b1 <= 0.5.0b1`

## Remediation

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