前言
CF代币合约被发现存在漏洞,它允许任何人转移他人的CF余额。到目前为止,损失约为190万美元,而pancakeswap上CF/USDT交易对已经受到影响。知道创宇区块链安全实验室第一时间对本次事件深入跟踪并进行分析。
事件详情
受影响的合约地址
https://bscscan
Cream闪电贷攻击报告:关键漏洞在于可包装代币的价格计算,损失1.3亿美元:11月1日消息,抵押借贷平台 Cream Finance 针对 10 月 27 日闪电贷攻击发布详细报告,表示正在与当局合作追踪攻击者,此次攻击损失约 1.3 亿美元,将在未来几天公布详细的还款计划。Cream 表示,此次攻击混合了经济攻击和预言机攻击,攻击者从 MakerDAO 闪电贷出 DAI 来创建大量 yUSD 代币,同时通过操纵多资产流动性池,利用价格预言机计算 yUSD 价格,yUSD 价格升高后,攻击者的 yUSD 头寸增加,创造了足够的借入限额来抵消 Cream 以太坊 v1 市场的流动性。Cream 称已暂停 Cream Finance 中以太坊 v1 市场的所有交互,关键漏洞在于可包装代币的价格计算,已经停止了所有可包装代币的供应 / 借贷,包括所有 PancakeSwap LP 代币。[2021/11/1 6:24:39]
uint256fee=0;..
Cream Finance暂停LEND市场以支持AAVE迁移:Cream Finance刚刚发布官方公告称,已暂停LEND市场,以支持AAVE迁移。用户将不再能够提供或借入LEND,但仍将能够偿还和提取LEND。据悉,从LEND到AAVE的迁移已于10月2日开始。[2020/10/9]
_transfer()函数是直接转移代币transfer()和授权转移代币transferFrom()的具体实现,但该函数的修饰器是public,因此任何人都可以不通过transfer()或transferFrom()函数直接调用它。而当变量useWhiteListSwith设置为False时,该函数不会检查调用地址和传输地址是否合规,直接将代币转移到指定地址。
声音 | Morgan Creek Digital联合创始人:若无比特币投资组合,美国养老金将面临压力:Morgan Creek Digital联合创始人Anthony Pompliano发推称,美国养老金资金严重不足,已陷入困境。比特币是一种不相关、不对称的资产。从某种程度上说,如果没有比特币投资组合,每笔养老金都将面临来自其服务对象的压力。[2019/9/16]
在区块高度为16841993时,管理员就把useWhiteListSwith设置为False:
此时开始有攻击者利用_transfer()函数直接转移代币:
总结
经过完整分析,知道创宇区块链安全实验室明确了该次事件的源头由函数本身权限出现问题,而管理员同时操作不慎关闭了白名单检测,两方结合导致攻击者可以实现转移任意钱包代币的操作。
在核心函数上我们一直建议使用最小权限原则,像这次的_transfer()函数本不该用public修饰器,使得transferFrom()函数检查授权额度的功能形同虚设;而合约管理者也不该随意修改关键变量值,导致攻击者可以绕过白名单检查的最后一道防线。
合约不仅仅是代码层面的安全,不光需要白盒代码审计,更需要合约管理员共同合理维护。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。