You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Storage corruption due to variables overwritten by re-entrancy locks
High severity
GitHub Reviewed
Published
Jul 27, 2021
in
vyperlang/vyper
•
Updated Jan 9, 2023
When attempting to use the v0.2.14 release, @pandadefi discovered an issue using the @nonreentrant decorator.
Impact
Reentrancy protection storage slots get allocated to the same slots as storage variables, leading to the corruption of storage variables when using the @nonreentrant decorator.
Patches
This issue was fixed in v0.2.15 in #2391, #2379
Workarounds
Don't use the @nonreentrant decorator in these versions.
Background
When attempting to use the v0.2.14 release, @pandadefi discovered an issue using the
@nonreentrantdecorator.Impact
Reentrancy protection storage slots get allocated to the same slots as storage variables, leading to the corruption of storage variables when using the
@nonreentrantdecorator.Patches
This issue was fixed in v0.2.15 in #2391, #2379
Workarounds
Don't use the
@nonreentrantdecorator in these versions.References