CVE-2021-48020
Deferred Deferred - Pending Action

Memory Corruption in Vyper Smart Contract Language

Vulnerability report for CVE-2021-48020, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-21

Last updated on: 2026-10-28

Assigner: VulnCheck

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-21
Last Modified
2026-10-28
Generated
2026-11-10
AI Q&A
2026-10-21
EPSS Evaluated
2026-11-08
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
vyperlang vyper 0.1.0b4

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-787 The product writes data past the end, or before the beginning, of the intended buffer.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2021-48020 is a memory corruption vulnerability in the Vyper programming language. It occurs when internal function calls are made within arrays due to an incorrect stack tip pointer. This can corrupt memory and lead to incorrect contract behavior. The issue affects versions from 0.1.0b4 up to but not including 0.3.0.

Detection Guidance

Detecting this vulnerability requires checking the Vyper version in use. Commands like 'vyper --version' can identify if the installed version is below 0.3.0. Additionally, review smart contracts for internal calls in nested arrays, external call arguments, struct literals, or raw_log topics as these patterns may indicate exposure.

Impact Analysis

This vulnerability can cause memory corruption in smart contracts written in Vyper. It may lead to unexpected contract behavior, such as incorrect data processing or security failures. Contracts using internal calls in nested arrays, external call arguments, struct literals, or raw_log topics are particularly at risk.

Compliance Impact

This vulnerability could potentially impact compliance with GDPR and HIPAA by enabling memory corruption in smart contracts. Memory corruption may lead to unauthorized data access, modification, or loss, which could violate data integrity and confidentiality requirements under these regulations. For example, if a contract processes personal or health data, memory corruption could expose sensitive information, violating GDPR's data protection principles or HIPAA's safeguards for protected health information.

Mitigation Strategies

Upgrade Vyper to version 0.3.0 or later to fully resolve the memory corruption issue. Avoid using internal function calls in nested array elements, external call arguments, struct literals, or raw_log topics until the upgrade is completed.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2021-48020. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...