客服QQ:872490018

BAI 智能合约漏洞分析及修复方法

BAI 智能合约漏洞分析及修复方法-碳链

5 月 24 日 10:51,KKCoin 转发 BAIC 社区公告称:

BAIC(BAI)项目方在5月24日凌晨发现BAI交易存在大量异常问题,并有若干BAI持仓账户出现异常转出情况,同样情况也出现在其他一些ERC20项目上,据初步分析可能属于ERC20智能合约新漏洞,为保护所有BAI持有人利益,项目方决定立即暂停所有交易所BAI的交易,并建议所有BAI持有人不要私下交易或进行转账操作,以避免损失,项目方会及时跟踪事态进展并进行处理,暂停交易期间,为您带来的不便,敬请谅解。

慢雾安全团队第一时间分析发现,BAI 存在和 EDU 一样的智能合约漏洞。

漏洞分析

BAI 智能合约漏洞分析及修复方法-碳链

在 BAI 智能合约 transferFrom 函数中,未校验 allowed[_from][msg.sender] >= _value 并且函数内 allowed[_from][msg.sender] -= _value; 没有使用 SafeMath,导致无法抛出异常并回滚交易。

通过这个漏洞,攻击者不需要私钥即可转走指定账户里所有的 BAI,并且由于合约没有 Pause 设计,导致无法止损。

修复方法

在 require(balances[_from] >= _value); 下一行增加 require(allowed[_from][msg.sender] >= _value); 或者引入 SafeMath,在合约中增加 using SafeMath for uint256; 同时修改为 allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);


BAI 智能合约漏洞分析及修复方法-碳链

*文章为作者独立观点,不代表碳链立场
本文由 慢雾科技 授权 碳链 发表,并经碳链编辑。转载此文章须经作者同意,并请附上出处(碳链)及本页链接。原文链接http://www.itanlian.com/chainnews/1471.html
发表评论
坐等沙发
相关文章
独家专访 | 融资233万美元后,DappRadar联合创始人首谈DApp与DeFi发展现状
独家专访 | 融资233万美元后,DappRadar…
比特币既是“风险资产”也是“避险资产”
比特币既是“风险资产”也是“避险资产”
慢雾科技发布红队测试(Red Teaming)服务
慢雾科技发布红队测试(Red Teaming)服务
重磅!解密央行数字货币研究所第二任所长穆长春(附完整个人简历)
重磅!解密央行数字货币研究所第二任所…
因比特币爆富的95后,18岁身家数千万
因比特币爆富的95后,18岁身家数千万
慢雾科技祝各位客户及伙伴们中秋节快乐
慢雾科技祝各位客户及伙伴们中秋节快乐
慢雾科技
SlowMist-Team 作者
我还没有学会写个人说明!
  • 文章

    86

  • 评论

    0

广告赞助

复制代码