PANews 12月25日消息,據安全機構PeckShield監測,多鏈兌換協議Rubic遭到黑客攻擊,損失超140萬美元,攻擊者已將1100枚ETH轉入Tornado Cash混幣協議。

慢霧安全團隊分析了該被盜過程,認為此次攻擊的根本原因在於Rubic 協議錯誤的將USDC 代幣添加進Router 白名單中,導致已授權給RubicProxy 合約的用戶的USDC 代幣被竊取。詳情如下:

1. Rubic 是一個DEX 跨鏈聚合器,用戶可以通過RubicProxy 合約中的routerCallNative 函數進行Native 代幣兌換。在進行兌換前,會先檢查用戶傳入的所需調用的目標Router 是否在協議的白名單中。
2. 經過白名單檢查後才會對用戶傳入的目標Router 進行調用,調用數據也由用戶外部傳入。
3. 但不幸的是USDC 代幣也被添加到Rubic 協議的Router 白名單中,因此任意用戶都可以通過RubicProxy 合約任意調用USDC 代幣。
4. 因此惡意用戶利用此問題通過routerCallNative 函數調用USDC 合約將已授權給RubicProxy 合約的用戶的USDC 代幣通過transferFrom 接口轉移至惡意用戶賬戶中。

參考:
Exploit tx:
https://etherscan.io/tx/0x9a97d85642f956ad7a6b852cf7bed6f9669e2c2815f3279855acf7f1328e7d46
Add USDC to available router:
https://etherscan.io/tx/0x30679e7b6b410fb78368f5fb6e4c203e44d81c66ae9014c797e40856be1bbe66