Vyper has incorrect storage layout for contracts containing large arrays
CVE-2023-46247

7.5HIGH

Key Information:

Vendor

vyperlang

Status
Vendor
CVE Published:
13 December 2023

What is CVE-2023-46247?

The Vyper Smart Contract Language for the Ethereum Virtual Machine contains a flaw in its calculation for determining the number of storage slots required for large arrays. Prior to version 0.3.8, the algorithm for calculating the storage needed using math.ceil(type_.size_in_bytes / 32) can result in inaccurate slot allocation due to floating-point precision errors. Specifically, this may lead to underallocation or overallocation of storage slots when dealing with arrays that are sized near a power of 2, which can compromise the integrity and functionality of smart contracts.

Human OS v1.0:
Ageing Is an Unpatched Zero-Day Vulnerability.

Remediate biological technical debt. Prime Ageing uses 95% high-purity SIRT6 activation to maintain genomic integrity and bolster systemic resilience.

Affected Version(s)

vyper < 0.3.8

References

CVSS V3.1

Score:
7.5
Severity:
HIGH
Confidentiality:
None
Integrity:
High
Availability:
None
Attack Vector:
Network
Attack Complexity:
Low
Privileges Required:
None
User Interaction:
None
Scope:
Unchanged

Timeline

  • Vulnerability published

  • Vulnerability Reserved

.