Vyper vulnerable to OOB DynArray access when array is on both LHS and RHS of an assignment
CVE-2023-31146
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
Timeline
Vulnerability published
Vulnerability Reserved
