漏洞标题
Vyper中对象内的AugAssign求值顺序导致OOB写入
漏洞描述信息
Vyper 是一种面向 EVM 的 Pythonic 智能合约语言。Vyper 在处理 AugAssign 语句时,会先缓存目标位置以避免双重评估。然而,在目标是访问 DynArray 并且右侧表达式修改了数组的情况下,缓存的目标将先被评估,并且在语句的写入部分不会重新进行边界检查。此问题已在版本 0.4.1 中得到解决,建议所有用户进行升级。此漏洞目前没有已知的解决方法。
CVSS信息
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
漏洞类别
对数组索引的验证不恰当
漏洞标题
AugAssign evaluation order causing OOB write within the object in Vyper
漏洞描述信息
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 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.
CVSS信息
N/A
漏洞类别
跨界内存写