PT-2025-7631

CVE-2025-27105

·

Published

2025-02-21

·

Updated

2025-03-29

Description by

CVSS 3.1
9.1
Critical
MetricsAV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
Name of the Vulnerable Software and Affected Versions Vyper versions prior to 0.4.1
Description The issue arises from how Vyper handles AugAssign statements, specifically when the target is an access to a DynArray and the right-hand side (rhs) modifies the array. In such cases, the cached target evaluates first, and the bounds check is not re-evaluated during the write portion of the statement. This can lead to out-of-bounds access. For example, the code a[1] += a.pop() is evaluated as if a[1] is accessed before a.pop() modifies the array, bypassing the bounds check that would occur if a[1] were accessed after a.pop().
Recommendations For versions prior to 0.4.1, upgrade to version 0.4.1 or later to address this issue. At the moment, there is no information about other workarounds for this vulnerability.
Exploitability
Exploit
Fix
Impacts
Researchers
Vendors
Affected products
Weakness enumeration
Related identifiers
GHSA-4W26-8P97-F4JP
PYSEC-2025-31
Found an issue in the description? Have something to add? Feel free to write us 👾