Live › vulnerability › CVE-2026-114114
Go to dashboardVyper mixes character offsets with UTF-8 byte offsets when rebuilding numeric literals, so non-ASCII source can shift the slices it reads. An attacker who supplies such source can get addresses, integers or other constants silently replaced in the compiled bytecode.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-23 21:57 UTC. All times on this page are UTC.
Teams that compile Vyper contracts with an affected compiler version are exposed, most of all when they compile source written or modified by someone outside the team. Projects that only compile their own ASCII-only source in a trusted pipeline face much less risk. Teams on other compilers or on versions outside the listed ranges can skip it.
No product ranges from the sources yet.
vyper --version and check whether it is below 0.1.0b12, 0.1.0b14, or in the range 0.4.1 to 0.5.0b1requirements.txt, pyproject.toml or poetry.lock and check the pinned version0.1.0b12 for the 0.1.0b line, 0.1.0b14, or 0.5.0b2 or later for the 0.5 line (exact patched release unknown from sources)Each row is the first time that source carried this signal. The analyst’s rows are its own findings.
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.
This page as .md · .json · in your agent: get_signal("CVE-2026-114114")
NVD data is provided by NIST and is public domain · EPSS scores by FIRST, used with attribution. Posts quoted belong to their authors.