20251205 - USPD 攻击事件:初始化缺失露破绽,黑客潜伏多日终得手
背景信息20251205,@USPD_io 项目由于部署 ERC1967Proxy 合约时没有执行初始化函数,被黑客抢先进行初始化获取了管理员和升级权限,在时机成熟后利用合约的特权铸造大量 USPD 进行获利,获利金额高达 1M USD。
Alert:https://x.com/USPD_io/status/1996711283446464598
[*]deploy tx : https://app.blocksec.com/explorer/tx/eth/0x3477bb4cb7cfcd12664ca224ad8468cfe2168fa1e779333c847a02bea1623d23
[*]hacker front-run initialize : https://app.blocksec.com/explorer/tx/eth/0xc0b7e490caac2b8cfa5e62d1b28a5e7dba7600e623c71352acbc9b23c2b65b7c
[*]victim initialize : https://app.blocksec.com/explorer/tx/eth/0xe03809990a3650e905d60a1c1389c10800d1d2738eef18ae81e6239dbed33356
[*]hacker exploit : https://app.blocksec.com/explorer/tx/eth/0xa7cab072bf0453301a0ab1b06c49a9405d115824fc617fb42cba9b70f3b893c2
TX1
从 trace 可以看出,在部署 ERC1967Proxy 合约后只执行了 Upgraded,没有执行 initialize 操作。也就是说目前 initialize 的
https://img2024.cnblogs.com/blog/1483609/202512/1483609-20251205225531356-1188942103.png
原因是管理员在初始化合约的时候没有传入 data 字段。
https://img2024.cnblogs.com/blog/1483609/202512/1483609-20251205225656899-712835654.png
导致没有执行 functionDelegateCall 来初始化实现合约,这给了黑客进行恶意初始化的机会。
https://img2024.cnblogs.com/blog/1483609/202512/1483609-20251205225727954-1583528839.png
TX2
很快啊,在下一个区块,黑客就已经调用 initialize 进行恶意初始化,给自己设置了管理员权限和升级权限。随后将实现合约升级为自己部署的恶意合约地址。同样地,在升级过程中也没有给 data 赋值,伪装成最开始的样子。只不过此时实现合约已经不一样了,管理员权限也不一样了。
https://img2024.cnblogs.com/blog/1483609/202512/1483609-20251205225930870-74313546.png
TX3
Victim 在部署了合约的 4 个区块后,调用了 initialize 函数进行初始化。此时实现合约已经被替换成了攻击者的恶意合约。
https://img2024.cnblogs.com/blog/1483609/202512/1483609-20251205225946611-255881682.png
TX4
在等待了将近 70 天后,黑客开始行动,再次更新实现合约。然后利用闪电贷款得到大量的 ETH。 随后 mint 大量 USPD,进行 mint 的 ETH 会发送回被黑客劫持的合约中,使得黑客可以用一笔资金多次 mint USPD 代币,完成获利。
https://img2024.cnblogs.com/blog/1483609/202512/1483609-20251205230204122-1039296812.png
资金发送到 USPDToken.mint(),然后转发到 cUSPDToken.mintShares()
https://img2024.cnblogs.com/blog/1483609/202512/1483609-20251205230053324-1405475352.png
然后由 cUSPDToken.mintShares() 转发回到攻击者控制的代理合约。
https://img2024.cnblogs.com/blog/1483609/202512/1483609-20251205230128999-1124071457.png
最后将得到的 USPD 兑换成 USDC 进行转移。
https://img2024.cnblogs.com/blog/1483609/202512/1483609-20251205230128999-1124071457.png
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]