Vyper is a Pythonic smart contract language for the Ethereum virtual machine. Prior to version 0.3.8, during codegen, the length word of a dynarray is written before the data, which can result in out-of-bounds array access in the case where the dynarray is on both the lhs and rhs of an assignment. The issue can cause data corruption across call frames. The expected behavior is to revert due to out-of-bounds array access. Version 0.3.8 contains a patch for this issue.
Advisories
Source ID Title
EUVD EUVD EUVD-2023-0270 Vyper is a Pythonic smart contract language for the Ethereum virtual machine. Prior to version 0.3.8, during codegen, the length word of a dynarray is written before the data, which can result in out-of-bounds array access in the case where the dynarray is on both the lhs and rhs of an assignment. The issue can cause data corruption across call frames. The expected behavior is to revert due to out-of-bounds array access. Version 0.3.8 contains a patch for this issue.
Github GHSA Github GHSA GHSA-3p37-3636-q8wv Vyper vulnerable to OOB DynArray access when array is on both LHS and RHS of an assignment
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Fri, 24 Jan 2025 16:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2025-01-24T16:02:08.702Z

Reserved: 2023-04-24T21:44:10.418Z

Link: CVE-2023-31146

cve-icon Vulnrichment

Updated: 2024-08-02T14:45:25.685Z

cve-icon NVD

Status : Modified

Published: 2023-05-11T21:15:10.240

Modified: 2025-01-24T16:15:32.803

Link: CVE-2023-31146

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

No data.