前言
北京时间2022年2月5日晚,Meter.io 跨链协议遭到攻击,损失约 430 万美元。知道创宇区块链安全实验室 第一时间跟踪本次事件并分析。
分析
基础信息
tx(Moonriver):0x5a87c24d0665c8f67958099d1ad22e39a03aa08d47d00b7276b8d42294ee0591
攻击者:0x8d3d13cac607B7297Ff61A5E1E71072758AF4D01
Blocto旗下NFT交易平台BloctoBay已正式上线:10月15日消息,由跨链智能合约钱包 Blocto 推出的 Flow 链上 NFT 交易平台 BloctoBay 已正式上线,目前可交易的 NFT 包括 MotoGP Ignition、Vault by CNN、Versus、Dark Country、Ben Mauro's Evolution & Warfare series xtingles、Chainmonsters、Starly、RaceDay,以及 Jambb 系列。
BloctoBay 将在后续的版本中增加对 Solana、BSC、Ethereum、Polygon、Avalanche 的支持,并推出信用卡支付购买 NFT 的功能。[2021/10/15 20:31:47]
Bridge:0xFd55eBc7bBde603A048648C6eAb8775c997C1001
HT跌破32美元关口 日内跌幅为15.74%:火币全球站数据显示,HT短线下跌,跌破32美元关口,现报31.9346美元,日内跌幅达到15.74%,行情波动较大,请做好风险控制。[2021/5/13 21:59:12]
ERC20Handler(depositHandler):0x5945241BBB68B4454bB67Bd2B069e74C09AC3D51
漏洞原理
漏洞关键在于跨链桥合约的deposit函数中,deposit函数会根据resourceID取相应的depositHandler,并调用deposit函数进行实际的质押逻辑。
而在depositHandler的deposit函数中,存在逻辑缺陷,当tokenAddress不为_wtokenAddress地址时进行 ERC20 代币的销毁或锁定,若为_wtokenAddress则直接跳过该部分处理。
该存在缺陷的逻辑判断可能基于在跨链桥合约中的depositETH函数会将链平台币转为wToken后转至depositHandler地址,所以在depositHandler执行deposit逻辑时,已处理过代币转移,故跳过代币处理逻辑。
但跨链桥合约的deposit函数中并没有处理代币转移及校验,在转由deposiHandler执行deposit时,若data数据构造成满足tokenAddress == _wtokenAddress即可绕过处理,实现空手套白狼。
总结
本次攻击事件核心原因在于 Meter.io 跨链桥 depositHandler质押处理器中,存在逻辑判断缺陷,满足了跨链桥合约depositETH的逻辑场景,但忽视了deposit逻辑场景存在绕过缺陷。
近期,各类合约漏洞安全事件频发,合约审计、风控措施、应急计划等都有必要切实落实。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。