CVE-2025-27104
Last modified
CVE-2025-27104 is a high-severity vulnerability rated 7.5/10 on the CVSS scale. vyper is a Pythonic Smart Contract Language for the EVM. Multiple evaluation of a single expression is possible in the iterator target of a for loop. EPSS estimates a 0.41% chance of exploitation in the next 30 days.
Description
vyper is a Pythonic Smart Contract Language for the EVM. Multiple evaluation of a single expression is possible in the iterator target of a for loop. While the iterator expression cannot produce multiple writes, it can consume side effects produced in the loop body (e.g. read a storage variable updated in the loop body) and thus lead to unexpected program behavior. Specifically, reads in iterators which contain an ifexp (e.g. `for s: uint256 in ([read(), read()] if True else [])`) may interleave reads with writes in the loop body. Vyper for loops allow two kinds of iterator targets, namely the `range()` builtin and an iterable type, like SArray and DArray. During codegen, iterable lists are required to not produce any side-effects (in the following code, `range_scope` forces `iter_list` to be parsed in a constant context, which is checked against `is_constant`). However, this does not prevent the iterator from consuming side effects provided by the body of the loop. For SArrays on the other hand, `iter_list` is instantiated in the body of a `repeat` ir, so it can be evaluated several times. This issue is being addressed and is expected to be available in version 0.4.1. Users are advised to upgrade as soon as the patched release is available. There are no known workarounds for this vulnerability.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/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
Weakness Enumeration
Affected Software
| Vendor | Product | Versions |
|---|---|---|
| Vyperlang | Vyper | < 0.4.1 |
References
- https://github.com/vyperlang/vyper/pull/4488Issue Tracking, Patch
- https://github.com/vyperlang/vyper/security/advisories/GHSA-h33q-mhmp-8p67Exploit, Vendor Advisory
Timeline
- Published
- Last Modified
- Status
- Analyzed
Frequently Asked Questions
What is CVE-2025-27104?
How severe is CVE-2025-27104?
How do I fix CVE-2025-27104?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2025
- CVE-2025-27099Tuleap is an Open Source Suite to improve management of soft…4.8
- CVE-2025-2710A vulnerability was found in Yonyou UFIDA ERP-NC 5.0 and cla…6.1
- CVE-2025-27100lakeFS is an open-source tool that transforms your object st…6.5
- CVE-2025-27101Opal is OBiBa’s core database application for biobanks or ep…7.3
- CVE-2025-27102Agate is central authentication server software for OBiBa ep…5.4
- CVE-2025-27103DataEase is an open source business intelligence and data vi…6.5
- CVE-2025-27105vyper is a Pythonic Smart Contract Language for the EVM. Vyp…9.1
- CVE-2025-27106binance-trading-bot is an automated Binance trading bot with…8.8
- CVE-2025-27107Integrated Scripting is a tool for creating scripts for hand…8.6
- CVE-2025-27108dom-expressions is a Fine-Grained Runtime for Performant DOM…6.1
- CVE-2025-27109solid-js is a declarative, efficient, and flexible JavaScrip…7.3
- CVE-2025-2711A vulnerability was found in Yonyou UFIDA ERP-NC 5.0. It has…6.1
Are you affected by CVE-2025-27104?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
