事件背景
零时科技区块链安全情报平台监控到消息,北京时间2023年4月9日,Sushiswap项目受到攻击,损失约1800ETH ,约为334万美元。零时科技安全团队及时对此安全事件进行分析。
漏洞及核心
合约中没有对传入的参数router进行判断,使得攻击者能够通过恶意构造router进行后续操作
在processRouteInternal函数中将传入的router参数存入合约中,后续执行swap时会调用
在swapUniV3中函数执行兑换操作,由于攻击者已将恶意router存入合约,此时函数转入执行攻击者构造的pool合约
在回调函数中进行判断需函数调用者为pool,由于之前攻击者已经将pool地址修改,此处可成功绕过地址检查,因此攻击者可任意恶意构造代币转移函数,将授权用户的资金转出。
总结及建议
此次攻击是由于合约中未对传入参数进行检查,攻击者能够通过恶意构造参数使得合约转入执行由攻击者创建的恶意合约并将授权用户的资金转出。
-
安全建议
?建议有对此项目合约授权的用户尽快取消授权防止资金被盗
▪ETH:
0x044b75f554b886A065b9567891e45c79542d7357
▪BSC:
0xD75F5369724b513b497101fb15211160c1d96550
▪POLYGON:
0x5097cbb61d3c75907656dc4e3bba892ff136649a
▪FTM:
0x3e603c14af37ebdad31709c4f848fc6ad5bec715
▪AVAX:
0xbACEB8eC6b9355Dfc0269C18bac9d6E2Bdc29C4F
?建议项目方上线前进行多次审计,避免出现审计步骤缺失
往期内容回顾
原文始发于微信公众号(零时科技):零时科技 || 处于“自救期”的SushiSwap是如何被黑客攻击的?