CVE-2025-27105

Critical

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.

SeverityCritical
CVSS9.1
Exploit probability—
ProductVyper
PublishedFeb 21, 2025
First seenFeb 21, 2025

How to fix

Update
  • vyperlang vyper0.4.1 or later
  • vyper0.4.1 or later

Affected products

ProductAffected versionsFixed in
vyperlang vyperv < 0.4.10.4.1
vyperPyPIv < 0.4.10.4.1

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.