错误处理“record_external_operation”错误返回 (CVE-2024-21629)
CVE编号
CVE-2024-21629利用情况
暂无补丁情况
N/A披露时间
2024-01-03漏洞描述
Rust EVM是以太坊虚拟机解释器。在rust-evm中引入了一个叫做record_external_operation的功能,允许库用户记录自定义的gas变化。该功能可能与调用堆栈产生一些错误交互。特别是在CREATE或CREATE2的最终化期间,如果子堆栈执行成功,rust-evm会先提交子状态,然后调用record_external_operation(Write(out_code.len()))。如果record_external_operation稍后失败,这个错误会返回到父调用堆栈,而不是Succeeded。然而,子状态的提交已经发生。这会导致智能合约能够提交状态改变,当父调用合约接收到零地址时(通常表示执行失败)。这个问题只影响自定义record_external_operation返回错误的库用户。该问题在0.41.1版本中得到修复。目前没有已知的解决方法。解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。- 攻击路径 网络
- 攻击复杂度 高
- 权限要求 无
- 影响范围 未更改
- 用户交互 无
- 可用性 无
- 保密性 无
- 完整性 高
CWE-ID | 漏洞类型 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论