Investigate in your agent.

Turn this advisory into a focused investigation. Ask your agent to check your project’s versions, explain the evidence, and suggest a compatible fix.

Your agent needs remote MCP support and access to https://cve.new/mcp.

Read the setup guide

Skip to content
Check your stack
CVE-2026-114114medium6.0

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

Impact

Vyper through 0.5.0b1 has a weakness in handling Unicode encoding, allowing an attacker to substitute addresses or integers in compiled code by contributing source with non-ASCII identifiers. Affected versions include 0.1.0b1 before 0.1.0b12, 0.1.0b14, and 0.4.1 through 0.5.0b1. An attacker needs to contribute source code to exploit this vulnerability.

Summarized by @cf/meta/llama-3.3-70b-instruct-fp8-fast. Verify details against the original sources.

Affected packages

This source has no supported package-version data for matching. You can read the advisory here, but this record alone cannot power a dependency check.

Affected products

Vendor version evidence. Product records are separate from automatic dependency matching.

vyperlang · VulnCheck

vyper

2 ranges

Package identity

pkg:pypi/vyperExplore vyper →

Identity supplied by VulnCheck. Version matching requires compatible range evidence.

Compare with this publisher’s ranges. This does not inspect your installation.

affected

0.1.0b1 → before 0.1.0b12

python versions

unaffected

0.1.0b12

python versions

unknown

Other versions: unaffected

vyperlang · VulnCheck

vyper

2 ranges

Package identity

pkg:pypi/vyperExplore vyper →

Identity supplied by VulnCheck. Version matching requires compatible range evidence.

Compare with this publisher’s ranges. This does not inspect your installation.

affected

0.1.0b14 → before 0.1.0b15

python versions

unaffected

0.1.0b15

python versions

unknown

Other versions: unaffected

vyperlang · VulnCheck

vyper

1 range

Package identity

pkg:pypi/vyperExplore vyper →

Identity supplied by VulnCheck. Version matching requires compatible range evidence.

Compare with this publisher’s ranges. This does not inspect your installation.

affected

0.4.1 → through 0.5.0b1

python versions

unaffected

unknown

Other versions: unaffected

Original source 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.

Inside the record

Evidence available

Package identity
Version evidence
Remediation guidance · not supplied
Weakness classification
Additional publishers

Describes the evidence in this view, not whether the product is safe.

Original records

CVE-2026-114114

View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.

cve.new JSON →

Underlying weaknesses

The source’s classification of what caused the vulnerability.

CWE-176 ↗

Improper Handling of Unicode Encoding

VulnCheck

Related →

Environment requirements

These conditions apply together as specified by the publisher. A matching product name alone does not establish exposure.

VulnCheck · platform conditions

Any condition may hold

Vulnerable product

cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:*:*:*

From (inclusive): 0.1.0b1

Before: 0.1.0b12

Any condition may hold

Vulnerable product

cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:*:*:*

From (inclusive): 0.1.0b14

Before: 0.1.0b15

Any condition may hold

Vulnerable product

cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:*:*:*

From (inclusive): 0.4.1

Through (inclusive): 0.5.0b1

Original applicability statements
[
  {
    "nodes": [
      {
        "operator": "OR",
        "negate": false,
        "cpeMatch": [
          {
            "vulnerable": true,
            "criteria": "cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:*:*:*",
            "versionStartIncluding": "0.1.0b1",
            "versionEndExcluding": "0.1.0b12"
          }
        ]
      }
    ]
  },
  {
    "nodes": [
      {
        "operator": "OR",
        "negate": false,
        "cpeMatch": [
          {
            "vulnerable": true,
            "criteria": "cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:*:*:*",
            "versionStartIncluding": "0.1.0b14",
            "versionEndExcluding": "0.1.0b15"
          }
        ]
      }
    ]
  },
  {
    "nodes": [
      {
        "operator": "OR",
        "negate": false,
        "cpeMatch": [
          {
            "vulnerable": true,
            "criteria": "cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:*:*:*",
            "versionStartIncluding": "0.4.1",
            "versionEndIncluding": "0.5.0b1"
          }
        ]
      }
    ]
  }
]
Contributing organizations · 2
VulnCheck

Assigning organization

2026-10-21
CISA-ADP

Additional data publisher

2026-10-28

What changed

Follow changes
No substantive changes have been recorded here yet. History starts when cve.new observes a change after tracking is enabled; earlier edits are not reconstructed.

Large field values are marked as truncated previews. Original source snapshots remain retained.

References

2 sources