【得得预警】ERC20 Token合约惊现毁灭级漏洞,账户余额可以随意转出

SECBIT实验室
SECBIT实验室 机构得得号

Jun 06, 2018 聚焦智能合约安全审计和形式化验证。

摘要: ERC20代币合约F_E由于业务逻辑实现漏洞,任何人都可以随意转出他人账户中的Token。并且该Token已经上线交易所,至今仍有活跃交易,Token随时面临彻底归零风险。

SECBIT 实验室风险监控平台于今日发现,ERC20代币合约F_E由于业务逻辑实现漏洞,任何人都可以随意转出他人账户中的Token。并且该Token已经上线交易所,至今仍有活跃交易,Token随时面临彻底归零风险。

合约地址sha3哈希值:

62c2235a3744a1d15cc15bb7f778e3228e07a9fd73cc8aae727a079dd21f0642

在合约的 transferFrom 函数中,transfer 之前对 allowed[from][msg.sender]进行校验,转账金额 value 不能超过allowed[from][msg.sender]中授权的金额。但是由于判断条件中将 < 误写成了>=,导致授权账户能够并且只能转出超过授权额度的金额才能转账。同时由于 value 大于 allowed[from][msg.sender],allowed[from][msg.sender]-= value 操作使得allowed[from][msg.sender]溢出。

这个由于代码中判断条件错误引发的漏洞,与之前已经爆出的诸多ERC20 合约漏洞如出一辙。任何人都可以在未授权的情况下转出其他人账户中的所有或部分Token;已授权用户可以转出超过授权额度的Token。

根据etherscan显示,该合约最近一次交易在4天前,也就是说该Token最近还在活跃交易中。

同时,SECBIT实验室监控平台也发现,该Token已经上线交易所,并且至今仍有活跃交易。

SECBIT实验室第一时间试图向项目方发出告警提示,但是由于该项目的官网已经关闭,暂时无法与项目方取得联系。

今日早些时候,成都链安科技发现的RMC漏洞,其原理跟此漏洞一样。如此严重漏洞在多个Token合约里同时存在,其背后隐含的安全形势。一个小小的逻辑判断错误就给项目招来致命性灾难,对项目方,交易所和Token持有者都是不小的打击。SECBIT实验室再次呼吁,项目方发行Token一定要慎之又慎,对合约代码进行详细检查,更不能随意复制网上的代码,并且在发布前寻求专业的团队对合约进行审计,杜绝隐患。

注:出于对项目的保护,本文并未直接透露合约名称,以F_E代替。


以上观点由SECBIT(安比)实验室提供。

SECBIT实验室由中科大郭宇博士创立,聚焦智能合约安全研究,致力于打造健康有序的区块链经济体。

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 SECBIT实验室 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(2

    • Chains热评 Chains热评
      回复
      0

      Fxe

      Jun 06, 2018 via iphone
    • elainejx elainejx
      回复
      0

      recent market trades里可是偷偷告诉我们是哪个币了????

      Jun 06, 2018 via iphone

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信