CVE-2025-27105

AugAssign evaluation order causing OOB write within the object in Vyper

Published Feb 21, 2025 CVSS 4.0 · 2.3 Low EPSS < 1% KEV · Not listed
Description
vyper is a Pythonic Smart Contract Language for the EVM. Vyper handles AugAssign statements by first caching the target location to avoid double evaluation. However, in the case when target is an access to a DynArray and the rhs modifies the array, the cached target will evaluate first, and the bounds check will not be re-evaluated during the write portion of the statement. This issue has been addressed in version 0.4.1 and all users are advised to upgrade. There are no known workarounds for this vulnerability.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2025-4283 AugAssign evaluation order causing OOB write within the object in Vyper
Github GHSA Github GHSA GHSA-4w26-8p97-f4jp AugAssign evaluation order causing OOB write within the object in Vyper
History
Type Values Removed Values Added
First Time appeared Vyperlang
Vyperlang vyper
CPEs cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:python:*:*
Vendors & Products Vyperlang
Vyperlang vyper
Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H'}

ssvc

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

Type Values Removed Values Added
Description vyper is a Pythonic Smart Contract Language for the EVM. Vyper handles AugAssign statements by first caching the target location to avoid double evaluation. However, in the case when target is an access to a DynArray and the rhs modifies the array, the cached target will evaluate first, and the bounds check will not be re-evaluated during the write portion of the statement. This issue has been addressed in version 0.4.1 and all users are advised to upgrade. There are no known workarounds for this vulnerability.
Title AugAssign evaluation order causing OOB write within the object in Vyper
Weaknesses CWE-787
References
Metrics cvssV4_0

{'score': 2.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Feb 22, 2025, 3:37 PM
Reserved
Feb 18, 2025, 4:44 PM
Status
Analyzed
Published
Feb 21, 2025, 10:15 PM
Modified
Jun 17, 2026, 9:03 AM