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.
Advisories
No advisories yet.
Fixes
Solution
No solution given by the vendor.
Workaround
No workaround given by the vendor.
References
History
Wed, 21 Oct 2026 00:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | Vyper 0.2.13 before 0.2.15 Storage Corruption via @nonreentrant Decorator | |
| First Time appeared |
Vyperlang
Vyperlang vyper |
|
| Weaknesses | CWE-787 | |
| CPEs | cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Vyperlang
Vyperlang vyper |
|
| References |
| |
| Metrics |
cvssV3_1
|
Projects
Sign in to view the affected projects.
Status: PUBLISHED
Assigner: VulnCheck
Published:
Updated: 2026-10-21T00:36:18.265Z
Reserved: 2026-10-20T21:51:20.819Z
Link: CVE-2021-48018
No data.
Status : Received
Published: 2026-10-21T01:17:18.983
Modified: 2026-10-21T01:17:18.983
Link: CVE-2021-48018
No data.
OpenCVE Enrichment
No data.
Weaknesses