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 are performed inside arrays. Contracts placing internal calls in nested array elements, external call arguments, struct literals, or raw_log topics can have memory corrupted, producing incorrect contract behavior.
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 from 0.1.0b4 through 0.2.x suffer a memory corruption flaw due to an incorrect stack tip pointer during internal function calls placed inside array data structures. This corruption can affect state variables, control flow, and the contents of structs, leading to predictable wrong contract behavior or potential exploitation. The weakness is classified as CWE-787, a classic out‑of‑bounds memory manipulation vulnerability.

Affected Systems

All implementations built with Vyper 0.1.0b4 up to but excluding 0.3.0 are affected. This includes any smart contracts compiled with those compiler releases on Ethereum-compatible blockchains, regardless of the deployment environment or deployment channel, as the issue resides within the compiler itself.

Risk and Exploitability

The CVSS score of 8.3 indicates high severity. Although the EPSS score is not available, the lack of a KEV listing suggests no widespread exploitation has been publicly reported yet. Based on the description, it is inferred that any external transaction that triggers a contract containing nested internal calls can exploit the flaw, making the attack vector a normal contract call from any Ethereum address. The vulnerability is exploitable via normal contract calls, requiring only that the contract code contains internally nested function calls in arrays, struct literals, or raw_log topics.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Vyper to version 0.3.0 or later and recompile all affected contracts.
  • Recompile existing contracts with the updated compiler ensuring that internal function calls are no longer nested within arrays, struct literals, or raw_log topics.
  • Review the source code of vulnerable contracts and refactor any internal calls placed inside array elements or similar structures to avoid the memory corruption path.
  • Conduct comprehensive testing and static analysis to verify that the upgraded contracts no longer trigger the memory corruption vulnerability.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 28 Oct 2026 16: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 are performed inside arrays. Contracts placing internal calls in nested array elements, external call arguments, struct literals, or raw_log topics can have memory corrupted, producing incorrect contract behavior.
Title Vyper before 0.3.0 Memory Corruption via Internal Function Calls in Arrays
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-28T15:11:17.839Z

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

Link: CVE-2021-48020

cve-icon Vulnrichment

Updated: 2026-10-28T15:05:30.131Z

cve-icon NVD

Status : Deferred

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

Modified: 2026-10-28T16:16:59.973

Link: CVE-2021-48020

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-21T18:30:13Z

Weaknesses