EIP-8037 兼容性风险致 Hoodi 测试网 Glamsterdam 升级推迟
10 月 26 日,以太坊基金会研究员 Toni Wahrstätter(@nero_eth)发文称,上周核心开发者推迟了 Hoodi 测试网向 Glamsterdam 升级的分叉时间,以研究安全公司 ChainSecurity(@chain_security)披露的报告。报告指出,EIP-8037 与部分合约的交互存在问题。ChainSecurity 此前表示,已发现 13 个真实案例,并正与受影响项目进行负责任披露。
Wahrstätter 表示,硬编码转发 Gas 的合约本就会受到 SSTORE 等操作重新定价的影响。新发现的问题是,EIP-8037 打破了部分代码依赖的前提:已消耗的 Gas 可能在交易中途返还,使 gasleft() 数值上升。这可能导致两类风险:一是调用前后的 Gas 计数器相减时发生下溢并触发回滚;二是失败的子调用返还 Gas,使原本不应到达的代码路径被执行,交易看似成功。此外,由于状态 Gas 储备在执行期间不可见,通过调用前后 GAS 差值衡量调用消耗,可能会低估实际用量。
Wahrstätter 称,推迟分叉只是争取了时间,并不能解决问题。本周需要深入排查合约,后续可能需要应用开发者、核心开发者、审计方和节点运营者协调处理,最坏情况下需修改规范。他呼吁应用开发者和审计人员检查合约是否受 EIP-8037/EIP-8038 影响,并及时反馈。