CVE Catalog

CVE-2021-48019

MediumCVSS 4.8
Published: Translated: NVD NIST

Summary

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.

Risk Assessment

Smart contracts using forwarders may receive corrupted data, leading to faulty business logic, failed token transfers and potential financial losses. Organizations using Vyper for DeFi contracts are exposed to data integrity errors.

Recommendation

Upgrade the Vyper compiler to version 0.2.9 or later and redeploy affected contracts. Re-audit contracts using create_forwarder_to for handling return data larger than 4096 bytes.

Other vulnerabilities in Vyper

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS