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.
Metrics
Affected Vendors & Products
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