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

SECBIT实验室 安比技术社区 2018-06-06 21:15

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


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

Image


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

Image


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


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


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


SECBIT(安比)实验室是谁?

SECBIT(安比)实验室专注于智能合约安全问题,全方位监控智能合约安全漏洞、提供专业合约安全审计服务,在智能合约安全技术上开展深入研究,致力于参与共建共识、可信、有序的区块链经济体。


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


SECBIT技术社区

info@secbit.io

Image

长按二维码关注


Modified on 2018-09-10

Scan to Follow