Vulnerability · Published Oct 21, 2026 · Assigned by VulnCheck

CVE-2021-48018Vyper 0.2.13 before 0.2.15 Storage Corruption via @nonreentrant Decorator

High 7.4

In plain English

A high-severity out-of-bounds write in vyper from vyperlang. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 33% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.4High
Exploit odds (30 days)0.4%top 66.5% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official 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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
PyPIvyper0.2.15GHSA-7f92-rr6w-cq64

Affected products (as reported)

VendorProductVersions
vyperlang vyper 0.2.13 – before 0.2.15

Weakness: CWE-787 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H

References