鴨嘴獸攻擊利用了不正確的代碼排序,審計員聲稱

免責聲明:文章已更新,以反映 Omniscia 沒有審核 MasterPlatypusV4 合約的版本。 相反,該公司在 1 年 21 月 5 日至 2021 月 XNUMX 日審核了 MasterPlatypusVXNUMX 合約的一個版本。

8 萬美元的 Platypus 閃電貸攻擊之所以成為可能,是因為代碼順序錯誤, 根據 鴨嘴獸審計員 Omniscia 的屍檢報告。 審計公司聲稱他們審計的版本中不存在有問題的代碼。

根據該報告,Platypus MasterPlatypusV4 合約“在其緊急撤回機制中包含一個致命的誤解”,這使得它“在更新與股權頭寸相關的 LP 代幣之前執行償付能力檢查”。

該報告強調,emergencyWithdraw 函數的代碼具有防止攻擊的所有必要元素,但這些元素只是以錯誤的順序編寫,正如 Omniscia 解釋的那樣:

“這個問題可以通過重新排序 MasterPlatypusV4::emergencyWithdraw 語句並在用戶的金額輸入設置為 0 後執行償付能力檢查來防止,這將阻止攻擊發生。”

Omniscia 在 1 年 21 月 5 日至 2021 月 XNUMX 日期間審計了 MasterPlatypusVXNUMX 合約的一個版本。但是,該版本“不包含與外部 platypusTreasure 系統的集成點”,因此不包含順序錯誤的代碼行。

值得注意的是,在 Omniscia 進行審計時,被利用的代碼並不存在。 Omniscia 的觀點暗示,開發人員必須在審計完成後的某個時刻部署了新版本的合約。

相關新聞: Raydium 公佈黑客攻擊細節,建議對受害者進行賠償

審計員聲稱 Avalanche C-Chain 地址 0xc007f27b757a782c833c568f5851ae1dfe0e6ec7 的合約實施是 剝削. 該合約的第 582-584 行似乎在 PlatypusTreasure 合約上調用一個名為“isSolvent”的函數,第 599-601 行似乎將用戶的金額、因子和獎勵債務設置為零。 但是,在調用“isSolvent”函數後,這些數量將設置為零。

鴨嘴獸團隊 確認 16 月 XNUMX 日,攻擊者利用了“USP 償付能力檢查機制中的缺陷”,但該團隊最初並未提供更多細節。 審計員的這份新報告進一步闡明了攻擊者可能如何完成攻擊。

鴨嘴獸團隊於 16 月 XNUMX 日宣布, 發生攻擊. 它試圖聯繫黑客並獲得返還資金以換取漏洞賞金。 襲擊者 使用閃貸 執行漏洞利用,這類似於在 Defrost Finance漏洞利用 25 年 2022 月 XNUMX 日。