Description
Vyper from 0.1.0b4 before 0.3.0 contains a memory corruption vulnerability caused by an incorrect stack tip pointer when internal function calls appear inside tuples or nested calls. Contracts using such calls as tuple elements, call arguments, or builtin arguments like concat or ecrecover can return corrupted values or pass wrong arguments to external calls.
Published: 2026-10-21
Score: 8.3 High
EPSS: < 1% Very Low
KEV: No
Impact: Memory Corruption
Action: Patch Now
AI Analysis

Impact

Vyper versions 0.1.0b4 through 0.2.x contain a memory corruption flaw caused by an incorrect stack tip pointer when internal functions are nested inside tuples or nested calls. The bug can result in corrupted return values or misdirected arguments for external calls, potentially altering contract behavior or enabling arbitrary memory writes. The weakness is classified as CWE-787 and reflects improper size handling in memory operations.

Affected Systems

The vulnerability affects the Vyper smart‑contract language distributed by vyperlang, specifically releases in the 0.1.0b4 to 0.2.x series. Contract developers who compile with these versions are exposed; any contracts that use nested internal function calls as tuple elements, call arguments, or within built‑in functions such as concat or ecrecover are at risk.

Risk and Exploitability

The CVSS score of 8.3 indicates a high severity risk. EPSS data is not available, so the current exploitation probability cannot be quantified, and the CVE is not listed in the CISA KEV catalog. Attackers would need to craft a contract that triggers the faulty stack handling, but the flaw is exploitable in any contract that employs the vulnerable constructs, giving a significant potential impact on smart‑contract integrity.

Generated by OpenCVE AI on October 21, 2026 at 11:37 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Vyper to version 0.3.0 or later
  • Avoid using nested internal function calls within tuples, arguments, or builtin operations such as concat or ecrecover until an upgrade or patch is applied
  • Review deployed contracts for the described patterns and redeploy affected ones after applying the fix

Generated by OpenCVE AI on October 21, 2026 at 11:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 27 Oct 2026 23:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


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

Type Values Removed Values Added
Description Vyper from 0.1.0b4 before 0.3.0 contains a memory corruption vulnerability caused by an incorrect stack tip pointer when internal function calls appear inside tuples or nested calls. Contracts using such calls as tuple elements, call arguments, or builtin arguments like concat or ecrecover can return corrupted values or pass wrong arguments to external calls.
Title Vyper 0.1.0b4 before 0.3.0 Memory Corruption via Nested Internal Function Calls
First Time appeared Vyperlang
Vyperlang vyper
Weaknesses CWE-787
CPEs cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:*:*:*
Vendors & Products Vyperlang
Vyperlang vyper
References
Metrics cvssV3_1

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

cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-27T21:35:03.319Z

Reserved: 2026-10-20T21:52:33.085Z

Link: CVE-2020-37286

cve-icon Vulnrichment

Updated: 2026-10-27T21:34:59.199Z

cve-icon NVD

Status : Deferred

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

Modified: 2026-10-27T22:17:07.217

Link: CVE-2020-37286

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-21T18:45:06Z

Weaknesses