Buffer Access with Incorrect Length Value Affecting vyper package, versions [,0.2.9)


Severity

Recommended
0.0
medium
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
0.25% (16th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-PYTHON-VYPER-22132607
  • published2 Nov 2026
  • disclosed21 Oct 2026
  • creditUnknown

Introduced: 21 Oct 2026

NewCVE-2021-48019  (opens in a new tab)
CWE-805  (opens in a new tab)

How to fix?

Upgrade vyper to version 0.2.9 or higher.

Overview

vyper is a Pythonic Smart Contract Language for the EVM.

Affected versions of this package are vulnerable to Buffer Access with Incorrect Length Value via the get_create_forwarder_to_bytecode function in vyper/functions/functions.py, which generated non-ERC-1167-compliant forwarder proxy bytecode. The old bytecode used a hardcoded 0x1000-byte return buffer for delegatecall results rather than dynamically sizing the return data, meaning that return data larger than 0x1000 bytes is silently truncated and return data from failed calls may be incorrectly handled, allowing an attacker to influence the integrity or availability of contract interactions that rely on the forwarder proxy.

Note: This is only exploitable when interacting with the forwarder proxy through a Web3 library or similar tooling that encodes calls automatically, rather than via raw eth_call or eth_sendTransaction.

References

CVSS Base Scores

version 4.0
version 3.1