Skip to main content
← All vulnerabilities
CVE-2021-48018EUVD-2021-34888GHSA-57W3-RR8J-WP9CGHSA-7F92-RR6W-CQ64

Vyper 0.2.13 before 0.2.15 Storage Corruption via @nonreentrant Decorator

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.2.15
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  4. Record last updated

Affected versions

  • vyperlang vyper

    From 0.2.13 · fixed in 0.2.15

  • vyperPyPI

    From 0.2.13 · fixed in 0.2.15

References 2

GitHub · vyperlang/vyper

vulncheck.com