漏洞信息
尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。
Vulnerability Title
Vyper's `slice()` may elide side-effects when output length is 0
Vulnerability Description
Vyper is the Pythonic Programming Language for the Ethereum Virtual Machine. In versions up to and including 0.4.2rc1, the `slice()` builtin can elide side effects when the output length is 0, and the source bytestring is a builtin (`msg.data` or `<address>.code`). The reason is that for these source locations, the check that `length >= 1` is skipped. The result is that a 0-length bytestring constructed with slice can be passed to `make_byte_array_copier`, which elides evaluation of its source argument when the max length is 0. The impact is that side effects in the `start` argument may be elided when the `length` argument is 0, e.g. `slice(msg.data, self.do_side_effect(), 0)`. The fix in pull request 4645 disallows any invocation of `slice()` with length 0, including for the ad hoc locations discussed in this advisory. The fix is expected to be part of version 0.4.2.
CVSS Information
N/A
Vulnerability Type
不充分的控制流管理
Vulnerability Title
Vyper 安全漏洞
Vulnerability Description
Vyper是vyperlang开源的一个 EVM 的 Pythonic 智能合约语言。 Vyper 0.4.2rc1及之前版本存在安全漏洞,该漏洞源于当输出长度为零时,slice函数可能跳过副作用评估。
CVSS Information
N/A
Vulnerability Type
N/A