慢霧:Multichain被黑由於anySwapOutUnderlyingWithPermit函數相關問題

星球日報訊據Multichain此前消息,一個影響6個跨鏈代幣的關鍵漏洞正在被利用。慢霧安全團隊發布簡析: 1. 用戶可以通過Multichain的AnyswapV4Router合約進行資金跨鏈操作,在進行資金跨鏈時用戶需要將待跨鏈的代幣授權給AnyswapV4Router合約。 2. AnyswapV4Router存在anySwapOutUnderlyingWithPermit函數。此函數允許用戶在鏈下進行授權簽名,鏈上驗證並授權的操作。在此函數中,其會先通過調用用戶傳入的代幣地址的underlying函數來獲取underlying代幣地址,隨後通過underlying代幣的permit函數進行簽名檢查與授權操作,授權完成後通過safeTransferFrom將代幣轉入anyToken合約中,最後通過_anySwapOut觸發事件。 3. 由於anySwapOutUnderlyingWithPermit函數中未檢查用戶傳入的代幣合法性,且由於WETH代幣不存在permit函數的同時實現fallback函數,而permit函數接口也恰好沒有返回值,因此在對WETH合約的permit函數進行調用時是不會拋出錯誤的。攻擊者正是利用此問題構造了惡意代幣地址,使得anySwapOutUnderlyingWithPermit函數獲取的underlying為WETH,將先前有將WETH代幣授權給AnyswapV4Router合約用戶的WETH直接轉移到攻擊者惡意構造的代幣地址中。此次主要是由於anySwapOutUnderlyingWithPermit函數為檢查用戶傳入的代幣的合法性,且未考慮並非所有underlying代幣都有實現permit函數,導致用戶資產被未授權轉出。慢霧安全團隊建議,應對用戶傳入的參數是否符合預期進行檢查,且在與其他合約進行對接時應考慮好兼容性問題。

Total
0
Shares
Related Posts