Skip to content
CVE PROGRAM SOURCE RECORD6.0 Medium

CVE-2026-114114

Vyper through 0.5.0b1 Literal Value Substitution via Multi-byte Characters

Description

Vyper 0.1.0b1 before 0.1.0b12, 0.1.0b14, and 0.4.1 through 0.5.0b1 mix character-based line offsets with Python's UTF-8 byte col_offset values in vyper/ast/parse.py, so multi-byte characters shift the source slices used to reconstruct later numeric literals. An attacker contributing source with non-ASCII identifiers that NFKC-normalize to ASCII, or an invisible byte-order mark, can silently substitute addresses, integers or other constants in compiled code.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

vyperlang vyper

Default version status: unaffected

  • 0.1.0b1 to < 0.1.0b12affected
  • 0.1.0b12unaffected
pkg:pypi/vyper

vyperlang vyper

Default version status: unaffected

  • 0.1.0b14 to < 0.1.0b15affected
  • 0.1.0b15unaffected
pkg:pypi/vyper

vyperlang vyper

Default version status: unaffected

  • 0.4.1 to ≤ 0.5.0b1affected
pkg:pypi/vyper

References