BlockBeats 消息,9 月 11 日,慢霧發推表示,ether.fi 遭受攻擊,損失約 15.45 枚 ETH。
據分析,根本原因在於 AtomicQueue 合約的 solve()函數對調用方傳入的 solver 參數缺乏訪問控制,既沒有 solver == msg.sender 的校驗,也沒有簽名、註冊或授權驗證。攻擊者首先通過 updateAtomicRequest()函數構造惡意 AtomicRequest,隨後強制受害地址充當 solver,AtomicQueue 隨即對受害地址調用 finishSolve 並執行 want.transferFrom(solver, users[i], assetsToUser),利用受害者此前授予的 ERC-20 授權額度盜取資金。