Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

nvd логотип

CVE-2025-27104

Опубликовано: 21 фев. 2025
Источник: nvd
CVSS3: 7.5
EPSS Низкий

Описание

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

Уязвимые конфигурации

Конфигурация 1
cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:python:*:*
Версия до 0.4.1 (исключая)

EPSS

Процентиль: 54%
0.0031
Низкий

7.5 High

CVSS3

Дефекты

CWE-662
NVD-CWE-noinfo

Связанные уязвимости

github
12 месяцев назад

Vyper has a double eval in For List Iter

EPSS

Процентиль: 54%
0.0031
Низкий

7.5 High

CVSS3

Дефекты

CWE-662
NVD-CWE-noinfo