CVE-2025-27105: AugAssign evaluation order causing OOB write within the object in Vyper
CVE-2025-27105 · Severity: medium · CVSS 4 · Published 2025-02-21
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.
No. Junglewise Threat Intelligence has no report of CVE-2025-27105 being exploited in the wild.
How severe is CVE-2025-27105?
Medium severity, with a CVSS score of 4, published 21 February 2025.
Which products and versions are affected?
vyper (PyPI) ECOSYSTEM:introduced=0,fixed=0.4.1.
Is there a fix for CVE-2025-27105?
Yes. vyper (PyPI): upgrade to 0.4.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
Am I affected by CVE-2025-27105?
Check whether you run vyper (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.