Advisory Database
  • Advisories
  • Dependency Scanning
  1. pypi
  2. ›
  3. vyper
  4. ›
  5. GMS-2021-16

GMS-2021-16: Storage corruption due to variables overwritten by re-entrancy locks

August 5, 2021

Background

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.

References

  • github.com/advisories/GHSA-7f92-rr6w-cq64
  • github.com/vyperlang/vyper/pull/2379
  • github.com/vyperlang/vyper/pull/2391
  • github.com/vyperlang/vyper/security/advisories/GHSA-7f92-rr6w-cq64

Code Behaviors & Features

Detect and mitigate GMS-2021-16 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions starting from 0.2.13 before 0.2.15

Fixed versions

  • 0.2.15

Solution

Upgrade to version 0.2.15 or above.

Source file

pypi/vyper/GMS-2021-16.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Wed, 14 May 2025 12:14:51 +0000.