Bitget App
交易「智」變
快速買幣市場交易合約理財廣場更多
任意調用漏洞被指責為導致$1700萬SwapNet與Aperture Finance遭駭的原因

任意調用漏洞被指責為導致$1700萬SwapNet與Aperture Finance遭駭的原因

CointelegraphCointelegraph2026/01/28 15:59
顯示原文
作者:Cointelegraph

區塊鏈安全公司 BlockSec 已發布對兩個去中心化金融協議遭遇攻擊的技術分析,這些攻擊導致損失超過 1,700 萬美元。

DEX 聚合器 SwapNet 在 Ethereum、Arbitrum、Base 和 Binance Smart Chain 上遭受超過 1,340 萬美元的損失,而管理集中流動性頭寸的 Aperture Finance,則在一個同時發生但無關的事件中損失約 367 萬美元。

BlockSec 在其於 X 上發布的分析摘要中表示:「受害合約因輸入驗證不足而暴露出任意調用能力,攻擊者可以濫用現有的代幣授權,並調用 transferFrom 來抽走資產。」

該安全公司表示:「這些事件提醒我們,合約設計的靈活性必須與嚴格的調用限制仔細平衡,尤其是在外部審查有限的閉源系統中。」

SwapNet 脆弱性的根本原因是什麼?

在 SwapNet 的案例中,漏洞來自函數 0x87395540(),該函數對關鍵輸入缺乏適當驗證。 

攻擊者通過將預期的路由器或池地址替換為像 USDC 這樣的代幣地址,誘使受害合約將代幣視為有效的執行目標。 

這導致執行了由攻擊者控制的 calldata 的低階調用,使受害合約執行允許攻擊者抽取所有已授權資產的調用。

此漏洞影響了曾在 DeFi 交易所元聚合器 Matcha Meta 上關閉「一次性授權」設置並直接給 SwapNet 合約無限授權的用戶。

單一最大的損失來自一名用戶,損失約 1,334 萬美元。總共有 20 名用戶受到影響。攻擊從 Base 的區塊 41289829 開始,SwapNet 在初次被發現漏洞後 45 分鐘內暫停了 Base 上的合約。不久之後也暫停了其他鏈上的合約;然而,在此期間,還有另外 13 名用戶在三條鏈上受到影響。

Aperture Finance 遭遇類似弱點

Aperture Finance 為用戶管理 Uniswap V3 流動性頭寸,也在其函數 0x67b34120() 中遭遇了同一類型的漏洞。 

當此函數被調用時,內部函數 0x1d33() 使用用戶提供的 calldata 執行低階調用,未對調用目標或函數選擇器施加嚴格限制。

這使攻擊者能夠構造惡意 calldata,抽取 ERC-20 代幣,並同時授權 Uniswap V3 頭寸 NFT。

曾啟用「即時流動性管理」功能授權的用戶,是此次攻擊中處於風險中的對象。

在 Ethereum 上一次具有代表性的攻擊中,攻擊者創建了一個合約,僅用 100 wei 的 ETH 調用有漏洞的函數。攻擊者將原生代幣包裝成 WETH 後,執行了對 WBTC.transferFrom() 的惡意調用,從而在通過自定義 swap 輸出值以通過餘額檢查的同時,抽走了已授權的代幣。

受影響平台正在做哪些調整? 

這些事件促使兩個協議重新評估其安全策略。首先,兩個協議都要求用戶使用如 Revoke.cash 等工具撤銷已授權的權限。 

Matcha Meta 表示,已禁用用戶關閉一次性授權的選項。並且在另行通知前已將 SwapNet 從其平台下架,同時強調:「在安全性面前偏向自定義的做法,未來我們將不再允許。」

Aperture Finance 則聲明,已禁用所有受影響的網頁應用功能。在恢復工作方面,其表示:「我們正與頂級鑑識安全公司密切合作,並與執法部門協調追查資金流向,」同時也正在建立協商資金返還的渠道。

如果你正在閱讀本文,你已經領先一步。訂閱我們的電子報,繼續保持領先。

0
0

免責聲明:文章中的所有內容僅代表作者的觀點,與本平台無關。用戶不應以本文作為投資決策的參考。

PoolX: 鎖倉獲得新代幣空投
不要錯過熱門新幣,且APR 高達 10%+
立即參與
© 2025 Bitget