PANews 1月17日消息,根据安全机构Fairyproof检测,BSC上的OMNI Real Estate Token (ORT) 项⽬遭受攻击,攻击原因疑似为合约代码有漏洞。 攻击者地址为:0x9BbD94506398a1459F0Cd3B2638512627390255e,其中⼀个攻击合约为0x0eFfECA3dBCBcda4d5e4515829b0d42181700606,攻击初始gas来源FixedFloat热钱包,攻击者获利超过236个BNB,价值约70705美元。
漏洞合约为项⽬的StakingPool合约,攻击交易⼊⼝为如图所示。在_Check_reward函数中,当durations 为0时,条件判断没有覆盖,会返回⼀个上次的全局变量值(预期外的值),造成奖励计算错误。 攻击者调⽤invest函数时, end_date输⼊为0,此时合约未验证⽤户输⼊,因此合约可以继续运⾏, duration[msg.sender]=0 ,⽽在_Check_reward函数中也未验证durations的值,并且在_Check_reward函数中使⽤了全局变量来参与计算,多重因素造成了⼀错误的奖励值。