客服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
发表评论
坐等沙发
相关文章
公开透明,慢雾智能合约安全审计证书开放查询
公开透明,慢雾智能合约安全审计证书开…
CFTC迎来新主席,他如何看待数字货币?
CFTC迎来新主席,他如何看待数字货币?
通往币安之路:DEX项目争上主站 IEO导流效果仅7天
通往币安之路:DEX项目争上主站 IEO导流…
烦立停第38期:央行发行数字货币真的与你无关吗?(文末有福利)
烦立停第38期:央行发行数字货币真的与…
AOFEX 入驻慢雾区,发布「安全漏洞与威胁情报赏金计划」
AOFEX 入驻慢雾区,发布「安全漏洞与威…
烦立停第37期:币圈第一资金盘跑路
烦立停第37期:币圈第一资金盘跑路
慢雾科技
SlowMist-Team 作者
我还没有学会写个人说明!
  • 文章

    78

  • 评论

    0

广告赞助

复制代码