Dedaub 的團隊最近披露了 UniSwap 合約上的一個漏洞,該漏洞可能會危及某些用戶的安全。
UniSwap 漏洞
Dedaub 在最近的一條推文中透露,他們發現了 UniSwap 合約上的一個錯誤,並向他們通報了該漏洞。收到反饋後,“UniSwap 解決了該問題,並在其所有鏈上重新部署了通用路由器智能合約。”
根據 Dedaub 的推文,該漏洞爲重入攻擊鋪平了道路,這將耗盡用戶的資金。 Dedaub 團隊解釋了攻擊者如何利用此漏洞。
我們感謝@Uniswap團隊頒發漏洞賞金。進一步閱讀:https://t.co/Jj2Sl2f1cQ
— Dedaub (@dedaub) 2023 年 1 月 2 日
該漏洞的誕生可以追溯到 11 月,當時 UniSwap 推出了通用路由器。該路由器將 NFT 和 ERC-20 交換統一到單個交換路由器。目的是幫助用戶執行多項操作,例如在一次交易中交換多個 NFT 和代幣。
正確使用時,通用路由器命令將向指定收件人發送指定金額。但是,如果在轉移過程中調用第三方代碼,它可以重新進入路由器並在合約中聲明代幣。這主要是因爲通用路由器在交易之間持有餘額。
Dedaub 團隊在其概念驗證中指出,攻擊者可以在發送初始金額後爲所有剩餘的代幣添加 SWEEP 命令。作爲交易的一部分,接收者可以快速耗盡全部金額。
Uniswap 團隊行動迅速
Dedaub 的團隊立即通知了 UniSwap 團隊這種攻擊的可能性。他們建議 Uniswap 團隊在部署之前在新路由器中嵌入重入鎖。
Uniswap 立即處理了這個問題,在採用合約之前做出了必要的調整。Uniswap 向 Dedaub 團隊頒發了 4 萬美元的漏洞賞金,以表明他們對個人安全的承諾。然而,Uniswap 團隊認爲這個問題影響很大,但發生的可能性很低。因此,這種情況可能會在非常複雜的情況下發生。
DEX 協議 UniSwap 通常對重入攻擊很熟悉。2020 年,有報道稱,DEX 與 Lendf.me 一起在一次簡單的重入攻擊中損失了 2500 萬美元。該網絡還遭受了黑客攻擊等其他攻擊。2022 年 7 月,黑客利用網絡釣魚攻擊竊取了價值 800 萬美元的 ETH。