有相關(guān)安全公司風(fēng)險(xiǎn)監(jiān)控平臺于今日發(fā)現(xiàn)木缝,ERC20代幣合約F_E由于業(yè)務(wù)邏輯實(shí)現(xiàn)漏洞,任何人都可以隨意轉(zhuǎn)出他人賬戶中的Token围辙。并且該Token已經(jīng)上線交易所我碟,至今仍有活躍交易,Token隨時(shí)面臨徹底歸零風(fēng)險(xiǎn)姚建。
合約地址sha3哈希值:
62c2235a3744a1d15cc15bb7f778e3228e07a9fd73cc8aae727a079dd21f0642
在合約的 transferFrom 函數(shù)中矫俺,transfer 之前對 allowed[from][msg.sender] 進(jìn)行校驗(yàn),轉(zhuǎn)賬金額 value 不能超過 allowed[from][msg.sender] 中授權(quán)的金額掸冤。但是由于判斷條件中將 < 誤寫成了>=厘托,導(dǎo)致授權(quán)賬戶能夠并且只能轉(zhuǎn)出超過授權(quán)額度的金額才能轉(zhuǎn)賬。同時(shí)由于 value 大于 allowed[from][msg.sender]稿湿,allowed[from][msg.sender] -= value 操作使得 allowed[from][msg.sender] 溢出铅匹。
這個由于代碼中判斷條件錯誤引發(fā)的漏洞,與之前已經(jīng)爆出的諸多ERC20 合約漏洞如出一轍饺藤。任何人都可以在未授權(quán)的情況下轉(zhuǎn)出其他人賬戶中的所有或部分Token包斑;已授權(quán)用戶可以轉(zhuǎn)出超過授權(quán)額度的Token。
根據(jù)etherscan顯示策精,該合約最近一次交易在4天前舰始,也就是說該Token最近還在活躍交易中。
同時(shí)咽袜,SECBIT實(shí)驗(yàn)室監(jiān)控平臺也發(fā)現(xiàn)丸卷,該Token已經(jīng)上線交易所,并且至今仍有活躍交易询刹。
該安全公司第一時(shí)間試圖向項(xiàng)目方發(fā)出告警提示谜嫉,但是由于該項(xiàng)目的官網(wǎng)已經(jīng)關(guān)閉,暫時(shí)無法與項(xiàng)目方取得聯(lián)系凹联。
早些時(shí)候沐兰,成都鏈安科技發(fā)現(xiàn)的RMC漏洞,其原理跟此漏洞一樣蔽挠。如此嚴(yán)重漏洞在多個Token合約里同時(shí)存在住闯,值得我們深思。一個小小的邏輯判斷錯誤就給項(xiàng)目招來致命性災(zāi)難澳淑,對項(xiàng)目方比原,交易所和Token持有者都是不小的打擊。該安全公司再次呼吁杠巡,項(xiàng)目方發(fā)行Token一定要慎之又慎量窘,對合約代碼進(jìn)行詳細(xì)檢查,更不能隨意復(fù)制網(wǎng)上的代碼氢拥,并且在發(fā)布前尋求專業(yè)的團(tuán)隊(duì)對合約進(jìn)行審計(jì)蚌铜,杜絕隱患锨侯。
本文轉(zhuǎn)載自《Token合約F_E漏洞》,版權(quán)屬于原作者冬殃,已獲得轉(zhuǎn)載授權(quán)囚痴。