57752 sc medium aave and euler incentives for myt will be lost due to unimplemented claimrewards function
Submitted on Oct 28th 2025 at 17:15:02 UTC by @Oxdeadmanwalking for Audit Comp | Alchemix V3
Report ID: #57752
Report Type: Smart Contract
Report severity: Medium
Target: https://github.com/alchemix-finance/v3-poc/blob/immunefi_audit/src/strategies/arbitrum/AaveV3ARBUSDCStrategy.sol
Impacts:
Permanent freezing of unclaimed yield
Description
Brief/Intro
The MYT utilizes AAVE as an underlying strategy to generate yield for depositors both on OP and Arbitrum. AAVE offers incentives—such as staking or liquidity mining rewards—to users who supply assets to the protocol. These rewards are usually distributed in the form of additional tokens (e.g., AAVE or other governance tokens) and can be claimed by users participating in Aave’s incentive programs (https://aave.com/docs/primitives/incentives). Even though the base MYTStrategy defines a function to claim rewards from strategies, this is unimplemented for AAVE which leads to all rewards being lost. Note that this is also an issue in other strategies such as Euler which use an off-chain reward distribution system.
Vulnerability Details
In all AAVE strategies, MYT allocates assets by supplying them to the v3 instance.
function _allocate(uint256 amount) internal override returns (uint256) {
require(TokenUtils.safeBalanceOf(address(usdc), address(this)) >= amount, "Strategy balance is less than amount");
TokenUtils.safeApprove(address(usdc), address(pool), amount);
@> pool.supply(address(usdc), amount, address(this), 0);
return amount;
}AAVE allows for liquidity mining rewards for depositors to also be claimed on-chain (eg for arbitrum, from the contract here https://arbiscan.io/address/0x929EC64c34a17401F460460D4B9390518E5B473e)
All AAVE strategies however have an unimplemented _claimRewards function which never allows for claiming, making rewards to be stuck forever.
Euler, which uses an off-chain reward distribution system, commonly Merkl also have this function unimplemented which also causes rewards to be lost. When i reached out to the Euler team to confirm, this was their response:
https://discord.com/channels/742749441697513632/1021868855557116006/1428339375594278993
Since no rewards handling is present in any Euler strategies as well, all rewards are also assumed to be lost.
Impact Details
All token incentive rewards are lost, which can cause a significant portion of the yield generated for depositors to be stuck in the contract. Furthermore the contract is not upgradeable so all rewards will be permanently lost due to this.
References
https://aave.com/docs/primitives/incentives
https://arbiscan.io/address/0x929EC64c34a17401F460460D4B9390518E5B473e
https://discord.com/channels/742749441697513632/1021868855557116006/1428339375594278993
https://github.com/alchemix-finance/v3-poc/blob/a192ab313c81ba3ab621d9ca1ee000110fbdd1e9/src/strategies/arbitrum/AaveV3ARBUSDCStrategy.sol#L38
Proof of Concept
Proof of Concept
Add this interface to the top of the file in
AaveV3ARBUSDCStrategy.t.sol.
12 Add this test to the end of the file in AaveV3ARBUSDCStrategy.t.sol
Run the test
Observe the logs. No rewards will be able to be claimed
Was this helpful?