For the complete documentation index, see llms.txt. This page is also available as Markdown.

58527 sc low complete loss of all reward value on tokeautoethstrategy claimrewards

Submitted on Nov 3rd 2025 at 02:43:33 UTC by @gizzy for Audit Comp | Alchemix V3

  • Report ID: #58527

  • Report Type: Smart Contract

  • Report severity: Low

  • Target: https://github.com/alchemix-finance/v3-poc/blob/immunefi_audit/src/strategies/mainnet/TokeAutoEth.sol

  • Impacts:

    • Permanent freezing of funds

Description

Brief/Intro

The TokeAutoEthStrategy claims rewards in TOKE_MAC tokens and sends them directly to the vault, but the vault only expects and handles WETH (its underlying asset). This causes TOKE_MAC reward tokens to become permanently stuck in the vault with no way to utilize or recover them, resulting in a complete loss of protocol rewards.

Vulnerability Details

function _claimRewards() internal override returns (uint256 rewardsClaimed) {
    rewardsClaimed = rewarder.earned(address(this));
    rewarder.getReward(address(this), address(MYT), false);
}

The Tokemac rewarder (IMainRewarder) distributes rewards in TOKE_MAC tokens:

  • Rewarder address: 0x60882D6f70857606Cdd37729ccCe882015d1755E

  • Reward token: 0x2e9d63788249371f1DFC918a52f8d799F4a38C94 (TOKE_MAC)

However, the vault (MYT) is designed to handle only WETH as its underlying asset:

  • Vault asset: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 (WETH)

The getReward() function signature from IMainRewarder:

Parameters used:

  • account = address(this) (the strategy contract)

  • recipient = address(MYT) (the vault) ⚠️ WRONG RECIPIENT

  • claimExtras = false

This sends TOKE_MAC tokens directly to the vault, which has no mechanism to handle them.

The Morpho Vault V2 (MYT) is designed to:

  • Only accept and manage its underlying asset (WETH)

  • Has no functionality to handle arbitrary ERC20 tokens

  • Has no recovery mechanism for tokens sent by mistake

Impact Details

All TOKE_MAC reward tokens become permanently stuck and unusable

References

https://github.com/alchemix-finance/v3-poc/blob/a192ab313c81ba3ab621d9ca1ee000110fbdd1e9/src/strategies/mainnet/TokeAutoEth.sol#L95C4-L98C6

Proof of Concept

Proof of Concept

copy and paste in TokeAutoETHStrategy.t.sol

Run

Was this helpful?