北京时间2022年8月2日,CertiK安全团队监测到NomadBridge遭受攻击,导致了价值约1.9亿美元的损失。
合约的问题在于在initialize()函数被调用的时候,“committedRoot”被设成了0x00地址。因此,攻击者可以通过消息的验证,将在桥合约中的代币转移。
③此时函数acceptableRoot(messages)返回了true,也就是说这条message就被批准了。这是因为0x0000在初始化过程中被设置为了true。
FOX Business记者:中间上诉很难获得批准:金色财经报道,FOX Business记者Eleanor Terrett发布推文称,从我从专业法律人士那里了解到的有关中间上诉的一切来看,众所周知,中间上诉很难获得批准。SEC 需要得到Torres法官和第二巡回法院的批准才能获得批准。[2023/8/10 16:16:38]
④当这条message被批准后,攻击者即可从桥中转移资金。
SyncSwap:稳定币USD+受EraLend事件影响将调整供应,LP需及时撤出:7月26日消息,基于zkSync的去中心化交易平台SyncSwap发布公告称,由Overnight.fi发行的稳定币USD+受到EraLend的攻击事件影响,USD+团队将在北京时间今日15时左右调整代币供应量以稳定币USD+锚定。如果用户在SyncSwap上有USD+流动性,需要在代币供应量调整之前完成提取。USD+团队将为USD+持有者和流动性提供者拍摄快照,以分发从EraLend恢复的资金,但只有那些提款的人才会被包含在快照中。
SyncSwap补充表示,所有其他流动性池都不受影响,比如zkUSD或BUSD。[2023/7/26 15:59:18]
MoonbeamBridge上转移了0.01WBTC:?https://moonscan.io/tx/0xcca9299c739a1b538150af007a34aba516b6dade1965e80198be021e3166fe4c?
Solana生态DeFi协议Friktion:关闭其前端网站,敦促客户提取资金:1月27日消息,基于Solana的投资组合管理平台Friktion表示,正在关闭其前端网站,敦促客户撤回资产。这意味着前端网站将不再提供相同的服务,但基础协议仍然可以在区块链上访问。
根据DeFiLlama数据显示,Friktion总市值已从去年4月的1.64亿美元峰值下降至500万美元,下降了约97%。据悉,该平台在运行期间交易了30亿美元,拥有超2万个用户钱包。
金色财经此前报道,去年11月,基于Solana的投资组合管理平台Friktion首次为机构客户推出了加密货币贷款产品。[2023/1/27 11:32:34]
○在EtheremBridge接受了100WBTC代币转移:https://etherscan.io/tx/0xa5fe9d044e4f3e5aa5bc4c0709333cd2190cba0f4e7f16bcf73f49f83e4a5460?
漏洞分析
在Replica合约中,“committedRoot”被错误地初始化为0?。
合约地址:https://etherscan.io/address/0x88a69b4e698a4b090df6cf5bd7b2d47325ad30a3
函数process通过调用函数acceptableRoot()确保messagehash能通过验证。
函数acceptableRoot()会检查root是否已经被proven,processed或者confirmed。
然而在初始化的交易中0x53fd92771d2084a9bf39a6477015ef53b7f116c79d98a21be723d06d79024cad,owner传入了0x00并且它对应的`confirmAt`也会在初始化中被设为1。
因此0x00可以被当作一个`acceptableRoot`,这也可以在replica合约中查询到https://etherscan.io/address/0xb92336759618f55bd0f8313bd843604592e27bd8。
Prove函数的实现导致了一条unprovenmessage的root是0,而0作为一个有效的confirmedroot可以通过require的检查。攻击者只需调用process函数就能从桥中转移资金。
智能合约的分析和部署后合约验证的深入分析。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。