Rubic Hack
What happened
USDC balances of Rubic’s users have been drained. The current losses reached $1.42M.
All USDC approved to the RubicProxy contract got under the risk of being drained after the USDC address was added into the list of available routers in the RubicProxy contract.
Through the routerCallNative() function, the attacker could call safeTransferFrom() on the USDC contract inputting user addresses, which have approved their USDC balances to be spent by RubicProxy, as the “from” parameter.
The attacker address:
https://etherscan.io/address/0x001b91c7…0b6ee9
The exploit transactions:
https://etherscan.io/tx/0x9a97d856…8e7d46
https://etherscan.io/tx/0x6551b933…e36e56
The “add available router ” transaction:
https://etherscan.io/tx/0x30679e7b…1bbe66
Case & protocol details
Evidence & learning
Proof of concept
1 availableSources and on-chain records
- report Report twitter.com
- analysis Twitter/X Alert twitter.com
- analysis Twitter/X Alert twitter.com
- analysis Web Archive archive.ph
- analysis Website reference twitter.com
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.