ERC20 Token合约F_E惊现毁灭级漏洞,账户余额可以随意转出

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(安比)实验室创始人郭宇,中国科学技术大学博士、耶鲁大学访问学者、毕业后在中科大执教九年,任副教授,后担任知名金融科技公司副总裁。专注于形式化证明与系统软件研究领域十余年,并在金融安全行业具有丰富的产品研发经验,是国内早期关注并参与比特币与区块链技术的科研人员之一,二十余项区块链专利核心发明人。研究专长:区块链技术、形式化验证、程序语言理论、操作系统内核。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180606G1Y26500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券