CVE-2026-114114

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

State
Published
Severity
6.0 Medium
Published
Oct 21, 2026
Updated
Oct 28, 2026
Reserved
Oct 20, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
4.06.0 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:NVulnCheck
3.15.3 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:NVulnCheck

Weaknesses

  • CWE-176 Improper Handling of Unicode Encoding

Affected Products

ProductVersions
vypervyperlang
  • 0.1.0b1 to before 0.1.0b12Affected
  • 0.1.0b12Not affected
vypervyperlang
  • 0.1.0b14 to before 0.1.0b15Affected
  • 0.1.0b15Not affected
vypervyperlang
  • 0.4.1 through 0.5.0b1Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.