一、 漏洞 CVE-2023-46232 基础信息
漏洞标题
era-compiler-vyper首个不可变变量初始化漏洞
来源:AIGC 神龙大模型
漏洞描述信息
## 概述 era-compiler-vyper 是 zkSync Era 的 EraVM Vyper 编译器,zkSync Era 是一个使用零知识证明来扩展以太坊的第二层 Rollup。在 era-compiler-vyper 版本 1.3.10 之前的一个 bug 导致符合某些条件的 Vyper 合约无法初始化第一个不可变变量。 ## 影响版本 - Prior to version 1.3.10 ## 细节 问题出现在当存在一个 String 或 Array 类型且拥有超过 256 位字节的分配但未初始化的情况下。这会导致第二个词的索引未设置,从而实际设置为 0,因此第一个不可变值(实际上的 0 索引)在 ImmutableSimulator 中被覆盖。 1.3.10 版本通过预先设置所有索引解决了此问题。 ## 影响 升级到新版本并重新部署受影响的合约是唯一解决此问题的方法。问题得到解决,但用户可能会因分配大量未初始化的空间(例如 `String[4096]`)而面临更高的成本。
来源:AIGC 神龙大模型
CVSS信息
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
来源:AIGC 神龙大模型
漏洞类别
对未经初始化资源的使用
来源:AIGC 神龙大模型
漏洞标题
era-compiler-vyper First Immutable Variable Initialization vulnerability
来源:美国国家漏洞数据库 NVD
漏洞描述信息
era-compiler-vyper is the EraVM Vyper compiler for zkSync Era, a layer 2 rollup that uses zero-knowledge proofs to scale Ethereum. Prior to era-compiler-vype version 1.3.10, a bug prevented the initialization of the first immutable variable for Vyper contracts meeting certain criteria. The problem arises when there is a String or Array with more 256-bit words allocated than initialized. It results in the second word’s index unset, that is effectively set to 0, so the first immutable value with the actual 0 index is overwritten in the ImmutableSimulator. Version 1.3.10 fixes this issue by setting all indexes in advance. The problem will go away, but it will get more expensive if the user allocates a lot of uninitialized space, e.g. `String[4096]`. Upgrading and redeploying affected contracts is the only way of working around the issue.
来源:美国国家漏洞数据库 NVD
CVSS信息
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
来源:美国国家漏洞数据库 NVD
漏洞类别
对假设不可变数据的修改(MAID)
来源:美国国家漏洞数据库 NVD
漏洞标题
era-compiler-vyper 安全漏洞
来源:中国国家信息安全漏洞库 CNNVD
漏洞描述信息
era-compiler-vyper是EraVM Vyper编译器。 era-compiler-vyper 1.3.10之前版本存在安全漏洞,该漏洞源于存在内存问题。
来源:中国国家信息安全漏洞库 CNNVD
CVSS信息
N/A
来源:中国国家信息安全漏洞库 CNNVD
漏洞类别
其他
来源:中国国家信息安全漏洞库 CNNVD
二、漏洞 CVE-2023-46232 的公开POC
# POC 描述 源链接 神龙链接
三、漏洞 CVE-2023-46232 的情报信息