又双叒叕有智能合约曝出漏洞了。
据慢雾区最新消息,EDU 智能合约出现重大漏洞,可转走任意账户的 EDU Token。
目前已经发现有黑客的大量洗劫行为,攻击者不需要私钥即可转走你账户里所有的 EDU,并且由于合约没有 Pause 设计,导致无法止损。
据慢雾区分析,在 transferFrom 函数中,未校验 allowed[_from][msg.sender] >= _value 并且函数内 allowed[_from][msg.sender] -= _value; 没有使用 SafeMath,导致无法抛出异常并回滚交易。
悲惨的是,由于合约没有 Pause 设计,导致无法止损,目前只能耐心等待官方公告。
链接:EduCoinToken (EDU) ERC20 Token Tracker
补充修复方法:
在 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);
雷锋网 VIA 慢雾区