Cyber Resilience

CVE-2025-27105

LowPublic PoC

Published: 21 February 2025

Published
21 February 2025
Modified
28 March 2025
KEV Added
Patch
CVSS Score v4 2.3 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0033 56.0th percentile
Risk Priority 5 60% EPSS · 20% KEV · 20% CVSS

Summary

CVE-2025-27105 is a low-severity Out-of-bounds Write (CWE-787) vulnerability in Vyperlang Vyper. Its CVSS base score is 2.3 (Low).

Operationally, ranked in the top 44.0% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified are NIST 800-53 CM-10 (Software Usage Restrictions) and SI-2 (Flaw Remediation).

Deeper analysis

CVE-2025-27105 is a vulnerability in Vyper, a Pythonic smart contract language for the Ethereum Virtual Machine (EVM). The flaw occurs in the handling of AugAssign statements, where Vyper caches the target location for dynamic array (DynArray) accesses to avoid double evaluation. However, if the right-hand side (rhs) of the statement modifies the array, the bounds check is not re-evaluated during the write operation, enabling an out-of-bounds write (CWE-787). This affects Vyper versions prior to 0.4.1.

The vulnerability carries a CVSS v3.1 base score of 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H), making it remotely exploitable with low attack complexity, no privileges, and no user interaction required. Attackers can target smart contracts compiled with vulnerable Vyper versions, achieving high integrity and availability impacts through arbitrary memory writes, such as corrupting contract state or causing denial of service.

The issue has been fixed in Vyper version 0.4.1, and all users are advised to upgrade immediately. No workarounds are available. Additional details are provided in the GitHub Security Advisory at https://github.com/vyperlang/vyper/security/advisories/GHSA-4w26-8p97-f4jp.

EU & UK References

Vulnerability details

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…

more

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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

Insufficient information to map techniques.
Confidence: LOW · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2025-26622Same product: Vyperlang Vyper
CVE-2025-21607Same product: Vyperlang Vyper
CVE-2025-27104Same product: Vyperlang Vyper
CVE-2025-25742Shared CWE-787
CVE-2025-21042Shared CWE-787
CVE-2025-27175Shared CWE-787
CVE-2019-25679Shared CWE-787
CVE-2026-0122Shared CWE-787
CVE-2024-54509Shared CWE-787
CVE-2025-1016Shared CWE-787

Affected Assets

vyperlang
vyper
≤ 0.4.1

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

prevent

Directly addresses the Vyper compiler flaw by requiring identification, reporting, and timely patching to version 0.4.1, preventing generation of vulnerable smart contract bytecode.

prevent

Restricts usage and execution of vulnerable Vyper versions prior to 0.4.1, ensuring only patched compilers are employed for smart contract development.

detect

Enables scanning and monitoring of development environments for vulnerable Vyper installations affected by CVE-2025-27105 out-of-bounds write flaw.

References