57546 sc low moonwellusdcstrategy fail to claim its reward from moonwell comptroller

Submitted on Oct 27th 2025 at 06:18:19 UTC by @farismaulana for Audit Comp | Alchemix V3arrow-up-right

  • Report ID: #57546

  • Report Type: Smart Contract

  • Report severity: Low

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

  • Impacts:

    • Permanent freezing of unclaimed royalties

    • Permanent freezing of unclaimed yield

Description

Brief/Intro

Moonwell protocol have reward system that is given to specific mToken participant. USDC depositor is also eligible for this reward. But the current implementation of MoonwellUSDCStrategy fails to claim its reward in form of WELL token because lack of function to claim it.

Vulnerability Details

although that MYTStrategy have claimRewards function, it is not overrided well in MoonwellUSDCStrategy . this would make the accrued reward in form of WELL token cannot be claimed by the strategy.

Impact Details

the reward cant be claimed. we should note that considerable amount of USDC would be use in this strategy and it would convert to big amount of shares. meaning the reward loss is not negligible.

and this count as both protocol and user loss

References

https://github.com/alchemix-finance/v3-poc/blob/a192ab313c81ba3ab621d9ca1ee000110fbdd1e9/src/strategies/optimism/MoonwellUSDCStrategy.sol#L33C34-L105

https://optimistic.etherscan.io/tx/0x92ba08fd2338f2647936ebe83bcf48a9e9c92b32960076417a85b7fe67eca4b0

Proof of Concept

Proof of Concept

the idea of this PoC is for strategy to allocate USDC into Moonwell. after some time we check if the WELL token is indeed accrued for strategy address. we check this by prank into strategy and call the comptroller.claimReward and logging the amount gained. after that, we revert and try to claim via strategy own claimRewards .

apply the diff:

run the test:

the Strategy can claim about 29.6 WELL token from a 1000 USC deposit.

but by using the contract MYTStrategy that inherited MoonwellUSDCStrategy, the claimRewards does nothing because it is not properly overrided.

Was this helpful?