FlashLoopAdapter 漏洞遭利用,從 Aave 相關 Safe 錢包竊走 30.5 萬美元

ETH
WETH
存取控制漏洞FlashLoopAdapterSafe 錢包閃電貸SlowMistAave v3
5 小時前來源: crypto.news
FlashLoopAdapter 漏洞遭利用,從 Aave 相關 Safe 錢包竊走 30.5 萬美元

一個用於管理 Aave v3 槓桿倉位的自訂 FlashLoopAdapter 在以太坊上遭到利用,攻擊者繞過了該模組的存取控制,導致兩個 Safe 錢包損失估計達 305,000 美元。

摘要

  • FlashLoopAdapter 的存取控制漏洞讓攻擊者得以從以太坊上的兩個 Safe 錢包中盜取約 305,000 美元。
  • 攻擊者利用 Morpho 閃電貸償還了 Aave 中約 1,335 WETH 的債務,隨後提取了約 1,306 weETH 的抵押品。
  • Aave 創辦人 Stani Kulechov 表示,受影響的合約是建構於 Aave 之上的第三方適配器,對 Aave v3 毫無影響。

區塊鏈安全公司 SlowMist 表示,攻擊者利用了 FlashLoopAdapter 合約中的身分驗證漏洞,該漏洞允許一個偽造的 Safe 通過原本用於限制只有已啟用該模組的錢包才能存取的檢查。攻擊者最終在利用該模組操縱受影響錢包持有的倉位後,保留了約 114.09 ETH。

此事件涉及的是建構於 Aave 之上的自訂合約,而非 Aave v3 核心協議。於 10 月 1 日 15:08:57 UTC 偵測到此次攻擊的 Defimon Alerts 表示,Aave v3 本身並未受到影響。

FlashLoopAdapter 的存取控制讓偽造的 Safe 得以通過

FlashLoopAdapter 被設計為一個 Safe 模組,用於透過 Aave v3 開啟和關閉槓桿倉位。已啟用該模組的 Safe 可以使用它來管理涉及借入資產和抵押品的循環策略。

根據 SlowMist 的說法,該弱點存在於適配器的 open() 和 close() 函式所使用的存取控制中。

這些函式並未獨立確認呼叫者是合法的 Safe,而是檢查 ISafe(msg.sender).isModuleEnabled(address(this)) 是否回傳 true。攻擊者可以部署一個偽造的 Safe 合約,並將其設定為在 FlashLoopAdapter 進行檢查時回傳 true。

一旦偽造的 Safe 通過了該測試,攻擊者便取得了本應僅限於授權錢包使用的功能存取權。

Defimon Alerts 表示,回呼期間執行的檢查並未阻止該筆交易,因為攻擊者的合約同時也充當了閃電流動性提供者。接著另一個函式 _swap() 允許使用呼叫者提供的 swapCalldata 對 swapRouter 進行原始呼叫。

這兩個輸入都可以由攻擊者控制。

攻擊者並未提供普通的交換路由器,而是將路由器設定為其中一個受害 Safe 錢包。calldata 被設定為呼叫 execTransactionFromModule,這是一個 Safe 函式,允許已啟用的模組執行交易。

受害 Safe 早已啟用了 FlashLoopAdapter,因此所產生的呼叫被接受了。

9 月時也曾出現過一個涉及 Safe 模組權限的類似問題。BlockSec 將一起涉及約 2,900 rsETH 的 以太坊 Safe 錢包漏洞利用 追蹤至一個與已啟用 Safe 模組相連的執行者合約中薄弱的授權檢查。crypto.news 先前報導,一個 MEV 機器人搶先執行了該漏洞利用嘗試,並在原始攻擊交易回滾之前取得了這些資產。

攻擊者償還了 1,335 WETH 以解鎖 weETH 抵押品

FlashLoopAdapter 攻擊不僅僅涉及轉移受影響錢包中已有的資產。

Defimon Alerts 表示,攻擊者獲得了 Morpho WETH 閃電貸款,並利用借入的流動性償還了第一個 Safe(標識為 0xcfedf95a3653a128dfc2e4288758a1a1850d169f)所欠的約 1,335 WETH 的 Aave 債務。

償還債務釋放了與槓桿 Aave 頭寸相關的抵押品。攻擊者隨後利用受損的模組執行路徑,使該 Safe 將約 1,306 weETH 提取到攻擊者控制的地址。

第二個 Safe(0xe3b23e47df7cd85876ac6cb05bdb9d7cd5b28520)通過同一個易受攻擊的模組又損失了 6.4 weETH。

Defimon 表示,兩個受影響的 Safe 共享同一個單一所有者。

攻擊者在結算閃電貸款和交易的其他部分時,將部分提取的 weETH 兌換成了 WETH。攻擊者最終剩下約 114.1 ETH,在事件報告時價值約 305,000 美元。

SlowMist 另行估計損失約為 114.09 ETH,並表示在解鎖抵押品的過程中償還了約 1,300 WETH 的債務。

因此,大規模的抵押品提取並不代表攻擊者的淨收益。交易中轉移的大部分資金都用於償還債務和解除槓桿頭寸,之後剩餘資產才能被取走。

Aave v3 合約未被認定為易受攻擊的組件

兩份安全警報均未指出 Aave v3 本身存在缺陷。

Aave 創始人兼首席執行官 Stani Kulechov 表示,受影響的合約是構建在 Aave 之上的第三方外部適配器,對「Aave v3 零影響」。

FlashLoopAdapter 是一個獨立的自定義合約,使用 Aave v3 來管理通過 Safe 錢包持有的槓桿頭寸。所報告的漏洞涉及該適配器如何驗證調用者以及他們可以讓啟用的模組執行什麼操作。

這種區分類似於其他事件,其中協議或服務保持運行,而連接到 Safe 錢包的模組提供了攻擊者使用的路徑。

5 月,一起涉及 SquidRouterModule 耗盡 Safes 的漏洞利用發生在以太坊和 Base 上。在攻擊者針對第三方 Safe 模組後,約 300 萬至 320 萬美元從 86 個錢包中被盜,而 Squid 表示其主路由器合約和用戶資金未受影響。

幾天後又出現了另一起與 Safe 相關的事件,當時 Gnosis Pay 的用戶在其 Zodiac 延遲模組 遭到漏洞利用後被敦促提取資金。Gnosis 聯合創始人 Martin Köppelmann 當時表示,該缺陷可能讓攻擊者使用受影響的模組從 Safes 發起交易。

Safe 模組可以被授予權限,以從錢包執行交易,而無需每次都經過標準的所有者交易流程。FlashLoopAdapter 依賴該能力來自動化槓桿 Aave 頭寸,但同樣的權限意味著成功繞過適配器的身份驗證邏輯後,可以觸及 Safe 控制的資產。

FlashLoopAdapter 攻擊者保留了約 114 ETH

SlowMist 將攻擊者地址識別為 0x42c2633438609881c8fBAb82414eb9A0c45F9353,而易受攻擊的 FlashLoopAdapter 合約被列為 0x16bb8b912da187870c23ec6756bb3fad061283d8。

攻擊序列結合了偽造的 Safe 身份驗證以及對適配器路由器和 calldata 參數的控制。一旦惡意合約通過了初始檢查,攻擊者就將適配器指向受害 Safe 並調用其模組執行函數。

Morpho 閃電貸款提供了償還較大錢包 Aave 債務所需的 WETH,之後其 weETH 抵押品才能被移除。約 1,306 weETH 從該 Safe 中提取,而另外 6.4 weETH 從第二個錢包中被取走。

在借入的流動性被結算且部分提取的資產被轉換後,Defimon Alerts 計算出攻擊者保留了約 114.1 ETH。

SlowMist 將此事件歸類為智能合約漏洞,並估計造成的損失為 305,000 美元。