Description
Vyper 0.1.0b1 before 0.1.0b17 and 0.4.1 through 0.5.0b1 builds its source-line table with str.splitlines(), which treats characters like form feed and U+2028 as line breaks the Python parser ignores, so numeric literals are classified and validated from shifted source text. An attacker contributing source code can hide these characters in comments, strings or indentation to silently change address, integer or decimal constants.
Published: 2026-10-21
Score: 6 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Altered contract logic via hidden line separators
Action: Patch
AI Analysis

Impact

Vyper builds its source‑line table with the Python function str.splitlines(). This function treats characters such as form feed and Unicode line separators (U+2028, U+2029) as break points, while the Vyper parser ignores them. An attacker who contributes source code can insert these characters within comments, string literals or indentation, causing numeric literals such as addresses, integers or decimals to be re‑classified from a different line. The compiled contract therefore contains altered constant values, potentially changing its logic or state in a way that benefits the attacker.

Affected Systems

Affected versions include Vyper 0.1.0b1 up to and including 0.1.0b16, and all releases from 0.4.1 through 0.5.0b1. The vendor is vyperlang, product Vyper. Any environment that compiles contracts using these versions is vulnerable, regardless of the operating system or deployment platform.

Risk and Exploitability

The CVSS score of 6 indicates moderate severity, and the EPSS score of less than 1% points to a very low likelihood of exploitation in the wild. The flaw is not listed in CISA’s KEV catalog. Exploitation requires control over the source file that will be compiled, typically during code review, merge or deployment. The attack vector is a source‑code manipulation that exploits the compiler’s line‑splitting logic.

Generated by OpenCVE AI on November 2, 2026 at 13:56 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Vyper compiler to a version newer than 0.1.0b17 or 0.5.0b1, which includes a fix for the splitlines handling.
  • Run a static analysis or linting tool that scans for invisible Unicode line separators and removes them before compilation.
  • Implement a pre‑commit hook or repository policy that disallows hidden line separator characters in added source files.

Generated by OpenCVE AI on November 2, 2026 at 13:56 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 02 Nov 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-115
References
Metrics threat_severity

None

threat_severity

Moderate


Wed, 28 Oct 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 21 Oct 2026 00:45:00 +0000

Type Values Removed Values Added
Description Vyper 0.1.0b1 before 0.1.0b17 and 0.4.1 through 0.5.0b1 builds its source-line table with str.splitlines(), which treats characters like form feed and U+2028 as line breaks the Python parser ignores, so numeric literals are classified and validated from shifted source text. An attacker contributing source code can hide these characters in comments, strings or indentation to silently change address, integer or decimal constants.
Title Vyper through 0.5.0b1 Literal Value Manipulation via Line Separators
First Time appeared Vyperlang
Vyperlang vyper
Weaknesses CWE-436
CPEs cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:*:*:*
Vendors & Products Vyperlang
Vyperlang vyper
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N'}

cvssV4_0

{'score': 6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-28T13:48:11.399Z

Reserved: 2026-10-20T21:48:58.503Z

Link: CVE-2026-114116

cve-icon Vulnrichment

Updated: 2026-10-28T13:48:07.228Z

cve-icon NVD

Status : Deferred

Published: 2026-10-21T01:17:37.930

Modified: 2026-10-28T14:16:57.630

Link: CVE-2026-114116

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-21T00:37:13Z

Links: CVE-2026-114116 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-11-02T14:00:08Z

Weaknesses