Out-of-bounds Write Affecting vyper package, versions [0.2.13,0.2.15)


Severity

Recommended
0.0
high
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
0.39% (33rd 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-22132610
  • published2 Nov 2026
  • disclosed21 Oct 2026
  • creditUnknown

Introduced: 21 Oct 2026

NewCVE-2021-48018  (opens in a new tab)
CWE-787  (opens in a new tab)

How to fix?

Upgrade vyper to version 0.2.15 or higher.

Overview

vyper is a Pythonic Smart Contract Language for the EVM.

Affected versions of this package are vulnerable to Out-of-bounds Write via incorrect storage slot allocation for reentrancy locks in the get_nonreentrant_lock function. When the @nonreentrant decorator is used, the reentrancy protection key is allocated to the same storage slot as a regular storage variable, causing the reentrancy lock to overwrite and corrupt contract storage variables. An attacker can exploit this corruption to bypass reentrancy guards or manipulate storage state in contracts that use the @nonreentrant decorator.

Note: This is only exploitable in contracts that use the @nonreentrant decorator alongside storage variables.

References

CVSS Base Scores

version 4.0
version 3.1