Gelato Hack
Incident Overview
The transaction behind the exploit:
https://etherscan.io/tx/0x90a5d10c…46c303
The bug in GUniRouter02 within the rebalanceAndAddLiquidity() function was able to be exploited to transfer funds from users' wallets who have previously approved GUniRouter02 for spending their tokens.
Tokens, which were mostly affected: DAI, USDC, FEI, agEUR, FRAX, WETH, ENS, ETH2x-FLI, G-UNI DAI/USDC, and POP.
The root issue: rebalanceAndAddLiquidity() can be invoked with custom _swapAction and _swapDatas parameters. Given the fact that users have given infinite allowances for the router contract, the possible exploiter could drain users' funds from their wallets.
The project team executed a successful whitehat hack which secured around $26M of user funds.
Incident Report
Protocol Information
What the Attacker Needed to Succeed
Understanding the prerequisites for this type of attack helps auditors identify protocols that are most at risk and helps developers build better defenses.
What Auditors Should Check
If you're auditing a protocol with similar architecture to Gelato, these are the critical security checks that could have prevented this incident (December 2021).
- Verify all logic paths related to Other are guarded by proper access controls and input validation
- Review privileged functions (owner, admin, governance) for potential abuse vectors - centralization risks should be documented and bounded with timelocks or multi-sigs
Master these auditing techniques with hands-on labs and real exploit scenarios in the Smart Contract Hacking course.
Free TrialSources & References
Learn to Prevent the Next Gelato
The Gelato hack is one of many attacks that skilled auditors are trained to detect before deployment. Master real exploit patterns and defense techniques with hands-on Web3 security training.