Vulnerability · Published Oct 21, 2026 · Assigned by VulnCheck
CVE-2021-48018Vyper 0.2.13 before 0.2.15 Storage Corruption via @nonreentrant Decorator
High 7.4
In plain English
A high-severity out-of-bounds write in vyper from vyperlang. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 33% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
Vyper from 0.2.13 before 0.2.15 allocates storage slots for @nonreentrant reentrancy locks at the same locations as contract storage variables. When a function using @nonreentrant is called, setting the lock overwrites the overlapping storage variable, corrupting contract state and breaking the contract's intended logic.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| PyPI | vyper | 0.2.15 | GHSA-7f92-rr6w-cq64 |
Affected products (as reported)
Weakness: CWE-787 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H
References
- GitHub Security Advisory (GHSA-7f92-rr6w-cq64) vendor-advisory
- VulnCheck Advisory: Vyper 0.2.13 before 0.2.15 Storage Corruption via @nonreentrant Decorator third-party-advisory