Cyber Posture

CVE-2025-27105

CriticalPublic PoC

Published: 21 February 2025

Published
21 February 2025
Modified
28 March 2025
KEV Added
Patch
CVSS Score 9.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
EPSS Score 0.0033 55.6th percentile
Risk Priority 18 60% EPSS · 20% KEV · 20% CVSS

Summary

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

Operationally, ranked in the top 44.4% 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).

Threat & Defense at a Glance

What defenders deploy: see the NIST 800-53 controls recommended below.
Threat & Defense Details

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.

MITRE ATT&CK Enterprise TechniquesAI

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

NVD 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…

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.

Deeper analysisAI

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.

Details

CWE(s)

Affected Products

vyperlang
vyper
≤ 0.4.1

CVEs Like This One

CVE-2025-21607Same product: Vyperlang Vyper
CVE-2025-27104Same product: Vyperlang Vyper
CVE-2025-26622Same product: Vyperlang Vyper
CVE-2025-20890Shared CWE-787
CVE-2019-25681Shared CWE-787
CVE-2026-23715Shared CWE-787
CVE-2025-21161Shared CWE-787
CVE-2026-21327Shared CWE-787
CVE-2025-21042Shared CWE-787
CVE-2026-3094Shared CWE-787

References