今天凌晨,以太坊君士坦丁堡升级计划因重大安全漏洞导致升级延期。本次被发现的新漏洞据悉可能导致硬分叉后出现“重入攻击”的风险,对此,北京链安认为,本次EIP-1283引发的安全问题需要问题合约符合如下模型才能被攻击:1、合约中存在函数A,并且存在SSTORE状态改变操作会影响到的transfer/send操作;2、存在一个函数B,可以被外界(攻击者)调用,并且调用可以影响到A中的SSTORE状态改变操作,由于状态的改变可以影响函数A中的transfer/send操作。3、函数B需要在小于阈值gas就可以获得执行。如果影响的是transfer(2300gas),采用call(700gas)执行跨合约调用触发漏洞,那么函数B需要小于的gas执行阈值就是2300-700=1600。
目前来看EIP-1283暂时没有获得实施,没有影响。即使获得升级实施,以太坊市值由大到小排名来看,市值大的合约基本使用的OpenZeppelin模版做的发币类合约,只对外提供转账接口,外部调用者实际上没有如上所述的过高权限,不符合该攻击模型,攻击模型只可能发生在要实现TheDao之类功能的合约上面。