The affected strategy contracts (including StrategyMainnet, StrategyArb, and StrategyOp) fail to include claimable balances when computing total assets during the _harvestAndReport function. As a result, the total asset calculation under-reports the strategy’s true value when a portion of its underlying synthetic tokens (alETH) has already been converted into claimable WETH via the transmuter. This discrepancy can lead to unintended consequences such as artificially reducing the perceived value of the strategy, enabling malicious keepers to exploit the situation, and causing users to receive fewer assets upon withdrawal.
In the StrategyMainnet contract’s _harvestAndReport function, the total asset calculation only adds together the unexchanged balance, the local asset balance, and the underlying token balance. However, it omits the claimable balance that can be withdrawn from the transmuter. Because the claimable amount represents WETH that has already been effectively exchanged from alETH, ignoring it reduces the reported total assets.
When the strategy’s total assets are under-reported, the system may treat the discrepancy as a loss, triggering various loss-handling functionalities such as share burning or other protective measures. This situation can be abused by a malicious keeper who can:
Convert a large portion of alETH into WETH (making them claimable).
Call report() so that _harvestAndReport calculates a lower total asset value, artificially lowering share prices.
Purchase shares cheaply due to the artificially deflated total asset value.
Later, restore the actual asset value (e.g., by claiming and swapping the WETH back to alETH), thereby “draining” a significant portion of the strategy’s value at the expense of other shareholders.
Additionally, regular users could monitor situations where the report() function is called and exploit the vulnerability by reproducing the same scenario.
This vulnerability also exists in StrategyArb and StrategyOp contracts due to similar logic.
Financial Loss for Users: Users withdrawing after the assets have been under-reported will receive fewer tokens than they should.
Reputation Damage: Other participants may lose trust in the strategy, reducing overall liquidity as they become hesitant to deposit funds.
Keeper Exploit: A malicious keeper could profit by manipulating share values and performing arbitrage, effectively draining the strategy’s value.
Manual Code Review and Foundry
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.