漏洞早已存在数月?Temple DAO遭受攻击损失230万美元事件分析
北京时间2022年10月11日21:11:11,CertiK Skynet天网检测到项目Temple DAO 遭到黑客攻击,损失约230万美元 。攻击发生的主要原因是migrateStake函数没有检查输入的oldStaking参数。
攻击步骤
① 攻击者(0x2df9…)调用migrateStake()函数,传入的oldStaking参数为0x9bdb…,这导致被攻击的合约将里面的LP代币转移到了攻击者的合约中。
② 攻击者提取了Stax Frax/Temple LP代币,并将FRAX和TEMPLE代币USDC最终兑换为WETH。
漏洞分析
导致Temple DAO漏洞的原因是StaxLPStaking合约中的migrateStake函数没有检查输入的oldStaking参数。
因此,攻击者可以伪造oldStaking合约,任意增加余额。
资金去向
以太坊上的321,154.87 Stax Frax/Temple LP代币后来被交易为1,830.12 WETH(约230万美元)。
写在最后
自6月初该合约被部署以来,导致此次事件发生的漏洞已经存在了数月。这是一种智能合约逻辑错误,也应该在审计中被发现。
攻击发生后,CertiK的推特预警账号以及官方预警系统已于第一时间发布了消息。同时,CertiK也会在未来持续于官方公众号发布与项目预警(攻击、欺诈、跑路等)相关的信息。