57167 sc medium missing claim function in euler and morpho strategies leads to loss of yield rewards
Submitted on Oct 24th 2025 at 02:44:36 UTC by @Bluedragon for Audit Comp | Alchemix V3
Report ID: #57167
Report Type: Smart Contract
Report severity: Medium
Target: https://github.com/alchemix-finance/v3-poc/blob/immunefi_audit/src/strategies/mainnet/EulerUSDCStrategy.sol
Impacts:
Permanent freezing of unclaimed yield
Description
Summary:
The Euler and Morpho strategies (EulerWETHStrategy, EulerUSDCStrategy, and MorphoYearnOGWETHStrategy) does not implement a claim function to retrieve allocations incentives from the Merkl rewards distributor. This omission prevents protocol from claiming rewards accrued during supply operations, which are hosted on the Merkl platform. The lack of this functionality limits the strategies usability and fails to deliver the full benefits of the underlying protocols.
Vulnerability Details:
Missing functionality:
The strategies does not override the
claimfunction fromMYTStrategy.solto interact with the Merkl rewards distributor.Allocator cannot claim rewards (e.g., $MORPHO tokens) accrued during supply operations on Euler or Morpho protocols.
Example claim flow:
Fetch claim data using Merkl's REST API:
https://rewards.morpho.org/v1/users/{strategyAddress}/distributions.Call the
claimfunction in the rewards distributor contract with the fetched data (proofs, claimable amount, etc.).
Impact
Protocol is unable to claim rewards, reducing the strategies value proposition and usability.
Incentives hosted on Merkl remain unclaimed, potentially leading to lost revenue opportunities.
Proof of Concept
Proof of Concept (Scenario step by step):
As this is a missing functionality issue, we can provide only scenario based step by step proof of concept to demonstrate the impact rather than a runnable proof of concept.
Deploy any of the affected strategies (e.g.,
EulerWETHStrategy).Supply assets to the strategy to accrue rewards on the underlying protocol (Euler or Morpho).
Attempt to claim rewards using Merkl's REST API to fetch claim data.
Observe that there is no
claimfunction implemented in the strategy to facilitate the reward claiming process.As a result, the protocol cannot claim any accrued rewards. Snippet (missing function):
Recommended Mitigation:
Implement a
claimRewardsfunction in each strategy to interact with the Merkl rewards distributor. Example:Add logic to fetch claim data from Merkl's REST API:
Example (Node.js):
Was this helpful?