区块链安全公司CertiK于近日发布了关于7月23日Verus协议以太坊跨链桥遭受攻击的详细分析报告,确认根本原因在于Verus与以太坊对公证数据(Notarization Data)的解析方式存在差异。
据Foresight News报道,攻击者将多个恶意重复的状态根条目(State Root Entries)注入到一笔合法的公证交易中。该数据由11个Verus公证节点签名后,被中继至以太坊网络。CertiK解释称,Verus在处理序列化的状态根数据时,会将其插入映射表,而以太坊在反序列化过程中则遍历所有proofRoots条目,并对每个匹配的系统ID覆盖状态根。这一机制导致后续注入的恶意状态根条目替换了原始合法条目,使攻击者控制的状态根被以太坊作为可信检查点接受。
随后,攻击者通过Bridge.vETH在Verus链上提交了一笔仅0.01 VRSC的小额跨链导出请求。当在以太坊上调用submitImports()时,攻击者伪造了导入证明中的关键字段(包括hashtransfers),使其与实际转移资产的哈希值匹配。CertiK指出,桥接合约未能验证导入请求中的支付金额是否与Verus网络上实际导出的金额一致,从而允许伪造证明通过验证,并授权提取远超实际转账金额的资金。
攻击发生后,被盗资产通过Relay兑换为2,778.8662 ETH,随后被转移至Tornado Cash进行混币。CertiK提醒各跨链桥项目方关注此类数据解析逻辑不一致所导致的安全风险。
