Vyper vulnerable to OOB DynArray access when array is on both LHS and RHS of an assignment
CVE-2023-31146

9.1CRITICAL

Key Information:

Vendor

Vyperlang

Status
Vendor
CVE Published:
11 May 2023

What is CVE-2023-31146?

Vyper, a Pythonic smart contract language for the Ethereum Virtual Machine, contains a vulnerability in versions prior to 0.3.8 where the length word of a dynamic array is written before the data during code generation. This flaw can lead to out-of-bounds array access, allowing potential data corruption across call frames when the dynamic array is used on both the left-hand side (lhs) and right-hand side (rhs) of an assignment. The expected behavior in such cases is a revert due to the detected out-of-bounds access. However, this vulnerability poses significant risks, and version 0.3.8 introduces a fix to address this issue.

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:
9.1
Severity:
CRITICAL
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

.