Balancer V1 漏洞利用攻擊暴露停滯不前的 DeFi 分叉項目中的四捨五入風險
攻擊者利用 Balancer V1 流動性池,壓縮 WBTC 儲備後觸發捨入漏洞,造成約 234,000 美元損失。 這凸顯了其他仍使用舊版加入與退出計算方式的不可變 Balancer V1 流動性池所面臨的風險。 一名駭客透過 WBTC 利用捨入漏洞,從 Balancer V1 流動性池竊取了約 234,000 美元。網路安全公司慢霧記錄了此漏洞,並將受影響的 Balancer V1 合約歸類為舊版程式碼。首先,攻擊者會壓縮池中的 WBTC 存量,使計算結果接近最低值。該漏洞利用了 joinswapPoolAmountOut 函式,此函式會計算鑄造池代幣所需的代幣存入量。 🚨@SlowMist TI 警報🚨 💸 @Balancer 損失:約 23.4 萬美元 🔍 根本原因:Balancer V1 BPool 的 joinswapPoolAmountOut 允許呼叫者指定 BPT 輸出量,而 calcSingleInGivenPoolOut 會透過 18 位小數的定點數數學運算反向計算輸入量。在攻擊者將 WBTC 儲備壓縮至幾乎為零後…… — 慢霧 (@SlowMist\Team) 2