慢霧:DFX Finance 遭攻擊,因 Curve 合約閃電貸函數未做重入保護
ChainCatcher 消息,据慢霧安全團隊情報,ETH 鏈上的 DFX Finance 項目遭到攻擊,攻擊者獲利約 231,138 美元。慢霧安全團隊以簡訊形式分享如下:
攻擊者首先調用了名為 Curve 的合約中的 viewDeposit 函數來查看合約中的存款情況,之後根據返回的存款情況來構造合適的閃電貸需要借出的錢
緊接著繼續 Curve 合約的 flash 函數進行閃電貸,因為該函數未做重入鎖保護,導致攻擊者利用閃電貸中的 flashCallback 函數回調了合約的 deposit 函數進行存款
存款函數外部調用了 ProportionalLiquidity 合約的 proportionalDeposit 函數,在該函數中會將第二步中借來的資金轉移回 Curve 合約裡,並且為攻擊合約進行存款的記帳,並且為攻擊合約鑄造存款憑證
由於利用重入了存款函數來將資金轉移回 Curve 合約中,使得成功通過了閃電貸還款的餘額檢查
最後調用 withdraw 函數進行取款,取款時會根據第三步存款時對攻擊合約記帳燃燒掉存款憑證,並以此成功取出約 2,283,092,402 枚的 XIDR 代幣和 99,866 枚 USDC 代幣獲利
此次攻擊的主要原因在於 Curve 合約閃電貸函數並未做重入保護,導致攻擊重入了存款函數進行轉帳代幣來通過閃電貸還款的餘額判斷,由於存款時有記帳所以攻擊者可以成功提款獲利。(來源鏈接)
關聯標籤
鏈捕手ChainCatcher提醒,請廣大讀者理性看待區塊鏈,切實提高風險意識,警惕各類虛擬代幣發行與炒作,站內所有內容僅係市場信息或相關方觀點,不構成任何形式投資建議。如發現站內內容含敏感信息,可點擊“舉報”,我們會及時處理。
關聯標籤