创宇区块链安全实验室2021-06-25 15:26:50
近日,据业内人士提供的有关信息(如下图所示),名为 KingDefi 的项目合约存在漏洞,并提示其他用户谨慎操作,提取资金并取消授权。知道创宇区块链安全实验室调研发现,KingDeFi 是一个 DeFi 项目,主要功能包含对 BSC、Solana链上 DeFi 的收益聚合分析、用户 DeFi 收益追踪以及项目原生代币的抵押挖矿。
在查看 BSC 链上的 KrownMaster 合约(用于抵押挖矿 staking )源码后发现,该合约确实存在逻辑漏洞,会导致用户收益率受到影响,在相应的计算逻辑存在疏漏,以下为详细解释。
合约链上地址如下:
https://bscscan.com/address/0x56a65a3736e65349e5b0737cb2c5eb7d5ccbbbe3#code
如下图所示,我们注意到在项目用户奖励更新算法逻辑的处理过程中存在对 investor 数组的一个遍历,此处 investor 地址存在被重复遍历并且修改对应奖励的可能性。
如下图所示,用户在通过 deposit 调用进行抵押的时候,判断当用户抵押数量为 0 时,可作为 investor 地址加入投资收益列表从而获得抵押收益,而该判断可被黑客利用。
如下图所示,黑客可通过调用 withdraw 或者 withdrawAll 函数将指定 pid 池子中的抵押数量提现,从而使得 user.amount 为 0,进而该地址可以在再次 deposit 抵押的时候通过相应检查进入 investor 列表,从而在 updatePool 函数中对黑客 investor 地址进行重复遍历并且增加多次抵押奖励,使得抵押奖励分配不均,影响到其他用户的抵押挖矿收益。
通过查看项目 github 发现,KingDefi 项目方当前已对该问题进行了修改。
漏洞修复那么项目方如何修复该漏洞?查看项目的 github 地址(https://github.com/kingdefi/Krown-Contracts/tree/main/Farm),发现其在 18 个小时前曾更新过代码,对比一下更新代码。
发现项目方已经删除了用于存储用户地址的数组,改为了 rewardsPerShare 变量,该变量表示单位抵押代币所对应的奖励代币;同时项目方也更改了奖励的计算方式 (updatePool 函数):由原来循环所有用户地址来按比例分配奖励改为更新 rewardsPerShare 变量来计算用户奖励代币。
对比两种奖励方式,后者已经不会产生前者因为重复计算奖励的问题,这种奖励方式类似于 sushiswap 的奖励计算方式,同时也避免了前者因为循环次数太多导致的 gas 销毁过大的问题。
漏洞总结Kingdefi 这次的漏洞影响到的是用户的奖励代币数量,攻击者可不断抵押提取来提高自身奖励的分配数量,但是用户的抵押代币是不受任何影响,可以正确安全提取出来。从项目方的修复结果来看,其换了一种常规奖励计算方式,该方式符合抵押挖矿逻辑,用户可正常且正确提取抵押和奖励代币。在此提醒广大项目方,在上线 Defi 挖矿项目前一定要做好代码审计,不同的计算方式在吸引新用户的同时也会大大增加犯错的风险!
以太坊Layer 2必知必会2023-04-26 15:03:27
浅析NFT未来:仅少数项目上涨 出圈项目会成赢家2023-04-26 14:15:26
E-CNY时代来临:当你的工资成为数字人民币2023-04-26 12:43:48
浅谈为什么MEV搜索者矿池并不可行?2023-04-26 12:08:40
"庄家"互撕 曝出加密巨头拉的那些"帮派"2023-04-26 11:59:08
怎样到达Web3世界:使用Web3技术的公司及集成到业务的步骤2023-04-26 11:53:15
稳定币项目 HAI、Starknet 2023 路线图2023-04-26 11:46:35
ChatGPT类产品安全隐患解决?英伟达发布开源工具包2023-04-26 11:26:24
蚂蚁集团发布HOU、AntChainBridge、Web3开放联盟链等多个Web3产品2023-04-26 11:24:46
ChatGPT背后的算力博弈 中国企业亟待打破美国桎梏2023-04-26 10:59:28
简析DWF Labs:出手频繁 颇具争议的加密做市商2023-04-26 10:48:45
NFT 交易平台生存现状研究:后版税战争时代下的龙头之争2023-04-26 09:20:51
以太坊提款功能开启后的带宽使用情况2023-04-26 08:30:24
上海升级提款效应:数据揭示 LSD 项目们的表现2023-04-26 07:28:37
3分钟读懂基于LayerZero的多链抗MEV DEX聚合器Cashmere2023-04-25 20:05:34
对话去中心化流动性质押协议Rocket Pool:如何促进以太坊Staking民主化?2023-04-25 19:02:21
Bankless:欧美都想监管稳定币 他们怎么做?2023-04-25 17:43:44
Coinbase起诉SEC全文:请在合理时间内回应加密规则请愿书2023-04-25 16:43:34
慢雾:Web3 假钱包第三方源调查分析2023-04-25 15:43:36
Binance Sensei介绍:您的Web3 AI导师2023-04-25 13:20:55