前言
CF代币合约被发现存在漏洞,它允许任何人转移他人的CF余额。到目前为止,损失约为190万美元,而pancakeswap上CF/USDT交易对已经受到影响。知道创宇区块链安全实验室第一时间对本次事件深入跟踪并进行分析。
事件详情
Ankr成为Secret Network企业级RPC提供商:金色财经报道,Web3基础设施提供商Ankr近日宣布成为隐私公链Secret Network首批企业级RPC提供商之一。Ankr的Secret Network RPC将帮助Web3开发人员简化Secret Network上的构建。Ankr的高性能RPC基础设施将大规模扩展Secret的公共RPC资源。(Bitcoin.com)[2023/2/13 12:03:26]
受影响的合约地址
Createra公布Createra Genesis Land总供应量和玩法:2月2日消息,游戏元宇宙项目Createra发推表示共有2500个Genesis Land,其中600个留给团队和投资者。若第一年土地占用率超过80%,则会增加Genesis Lands的总供应量,若没有达到,将继续维持在2500个。并且,Genesis Land分为SSS/SS/S/A/B/C等级,未来的奖励将根据等级授予。此外,Createra将在2月初发布新功能,Bundle。如果你有3个以上相邻的土地,你将能够组合土地来创建捆绑包并使用徽标对其进行自定义。有关自定义更多的功能和收益情况,将在该功能上线后公布。[2023/2/3 11:44:13]
https://bscscan
CREAM逼近150美元,24小时涨逾117%:CoinGecko行情显示,Cream Finance(CREAM)当前报价148.92美元,24小时涨幅117.2%。
此前消息,Cream Finance宣布将销毁6,075,000枚CREAM代币,占当前供应量的67.5%。此次销毁包括100%的治理代币和75%的种子代币。此外,Cream还宣布推出动态AMM(自动做市商)CreamY。[2020/9/20]
uint256fee=0;..
_transfer()函数是直接转移代币transfer()和授权转移代币transferFrom()的具体实现,但该函数的修饰器是public,因此任何人都可以不通过transfer()或transferFrom()函数直接调用它。而当变量useWhiteListSwith设置为False时,该函数不会检查调用地址和传输地址是否合规,直接将代币转移到指定地址。
在区块高度为16841993时,管理员就把useWhiteListSwith设置为False:
此时开始有攻击者利用_transfer()函数直接转移代币:
总结
经过完整分析,知道创宇区块链安全实验室明确了该次事件的源头由函数本身权限出现问题,而管理员同时操作不慎关闭了白名单检测,两方结合导致攻击者可以实现转移任意钱包代币的操作。
在核心函数上我们一直建议使用最小权限原则,像这次的_transfer()函数本不该用public修饰器,使得transferFrom()函数检查授权额度的功能形同虚设;而合约管理者也不该随意修改关键变量值,导致攻击者可以绕过白名单检查的最后一道防线。
合约不仅仅是代码层面的安全,不光需要白盒代码审计,更需要合约管理员共同合理维护。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。