AaveDivaWrapper interacts with the Aave v3 pool each time collateral tokens are deposited or withdrawn. This creates a single point of failure. If interactions with Aave fail due to reaching the supply limit or the pool being paused/frozen, users will be unable to deposit or redeem collateral tokens.
In AaveDivaWrapper.sol, functions _claimYield, _handleTokenOperations, and _redeemWTokenPrivate interact with Aave v3 for withdrawing and supplying collateral tokens. These operations depend entirely on Aave’s availability:
Here are some possible scenarios:
Aave v3 may reach deposit limit:
Currently, Aave Ethereum USDT market now accounts for 64.68% of the supply cap, Aave Ethereum USDC market now accounts for 66.98% of the supply cap. When market utilization increases, Aave/Compound users are incentivized to supply into the market, and is possible to reach the supply limit.
Aave v3 may get paused or retired:
In Nov 2023, Aave paused several markets after reports of feature issue .
Aave governance/admin pause or freeze the pool – Aave v3 reserves can be paused due to governance decisions or emergency actions.
Aave v3 supply cap reached – If the total supply of a particular asset in Aave v3 reaches its cap, new deposits will be blocked.
Attackers or malicious actors could manipulate Aave governance to pause or freeze the pool, causing a denial of service (DoS) to AaveDiva.
Large whales could deposit excessive amounts into Aave v3, reaching the supply cap and preventing further deposits from AaveDiva.
If Aave retires certain collateral assets, the AaveDiva reserve may be unable to function properly due to its immutable nature.
AaveDiva reserve strategies can become a single point of failure:
Aave governance can DoS AaveDivaWrapper – If Aave v3 is paused, no deposits or withdrawals can be made.
Supply cap limits can DoS AaveDivaWrapper – If the supply cap is reached, new collateral cannot be deposited.
Users cannot redeem collateral – Users relying on AaveDiva for liquidity may face withdrawal failures.
Manual review
Implement a fail-safe mechanism – Wrap _claimYield, _handleTokenOperations, and _redeemWTokenPrivate in a try-catch block to prevent system-wide failures.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.