CVE-2021-48019
Deferred Deferred - Pending Action

Vyper Proxy Forwarder Return Data Size Corruption

Vulnerability report for CVE-2021-48019, 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-27

Assigner: VulnCheck

Description

Vyper before 0.2.9 deploys forwarder proxies through the built-in create_forwarder_to function that report a fixed 4096-byte RETURNDATASIZE rather than the actual return data size. Calls through these proxies can yield corrupted data when a function returns more than 4096 bytes without return data sanitation, and fail strict return-size checks such as SafeERC20.safeTransfer.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-21
Last Modified
2026-10-27
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

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-805 The product uses a sequential operation to read or write a buffer, but it uses an incorrect length value that causes it to access memory that is outside of the bounds of the buffer.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects Vyper versions before 0.2.9. It involves forwarder proxies deployed via the create_forwarder_to function, which incorrectly reports a fixed 4096-byte RETURNDATASIZE instead of the actual return data size. When a function returns more than 4096 bytes without proper sanitization, it can lead to corrupted data and fail strict return-size checks like SafeERC20.safeTransfer.

Detection Guidance

To detect this vulnerability, check Vyper version in use. If it is below 0.2.9, the system is potentially vulnerable. Inspect smart contracts for use of create_forwarder_to function in Vyper code. Review return data handling in contracts interacting with forwarder proxies to ensure no strict 4096-byte checks exist.

Impact Analysis

If you use Vyper versions before 0.2.9, calls through forwarder proxies may return corrupted data when functions exceed 4096 bytes. This can cause failures in contracts or libraries that rely on strict return-size checks, such as SafeERC20.safeTransfer, leading to unexpected behavior or errors.

Compliance Impact

This vulnerability primarily impacts data integrity in smart contracts by causing corrupted return data when functions exceed 4096 bytes. While it does not directly violate GDPR or HIPAA, it could lead to incorrect data handling in systems subject to these regulations if the corrupted data affects personal or health information processing.

Mitigation Strategies

Upgrade Vyper to version 0.2.9 or later to switch to EIP-1167 style proxies. Review and update any strict return-size checks in contracts to use greater-than-or-equal-to comparisons instead of exact matches. Ensure return data sanitation is implemented for functions returning more than 4096 bytes.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2021-48019. 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...