CVE-2021-48018
Deferred Deferred - Pending Action

Vyper Smart Contract Nonreentrant Lock Storage Corruption

Vulnerability report for CVE-2021-48018, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-21

Last updated on: 2026-10-23

Assigner: VulnCheck

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-21
Last Modified
2026-10-23
Generated
2026-11-10
AI Q&A
2026-10-21
EPSS Evaluated
2026-11-08
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
vyperlang vyper 0.2.13

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-787 The product writes data past the end, or before the beginning, of the intended buffer.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects Vyper versions 0.2.13 to 0.2.14. The @nonreentrant decorator, meant to prevent reentrancy attacks, has a flaw where storage slots for reentrancy locks overlap with contract storage variables. When a function using @nonreentrant is called, setting the lock overwrites the overlapping storage variable, corrupting contract state and breaking intended logic.

Detection Guidance

Check Vyper version in use with 'vyper --version'. If it is between 0.2.13 and 0.2.14 inclusive, the system is vulnerable. Inspect smart contracts for use of the @nonreentrant decorator in affected versions.

Impact Analysis

This vulnerability can lead to severe operational failures in smart contracts. It may cause unintended behavior, data corruption, or security breaches due to the overwriting of critical storage variables. Contracts relying on @nonreentrant for security could become vulnerable to attacks or malfunction.

Compliance Impact

This vulnerability primarily impacts smart contracts written in Vyper, leading to storage corruption and unintended behavior. It does not directly affect compliance with GDPR or HIPAA, as those standards focus on data protection and privacy rather than smart contract security. However, if the affected contracts handle personal or health data, the resulting operational failures could indirectly lead to non-compliance due to data breaches or loss of integrity.

Mitigation Strategies

Upgrade Vyper to version 0.2.15 or later. Avoid using the @nonreentrant decorator in versions 0.2.13 to 0.2.14 as a temporary measure.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2021-48018. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...