The claimAndSwap function in StrategyOp.sol does not validate the _path input provided to the router.
This allows malicious or erroneous paths to be passed, potentially leading to unauthorized or unintended token swaps, resulting in financial loss or disrupted protocol functionality.
The claimAndSwap function is designed to claim WETH from the transmuter and swap it for alETH using a provided path via the router.
However, the function does not validate that the _path input starts with the underlying token (WETH) and ends with the asset token (alETH).
This lack of validation exposes the function to potential misuse:
A malicious keeper could pass a _path that swaps WETH for unintended tokens, misdirecting funds.
The _path array passed to _swapUnderlyingToAsset is directly used in the router call without any validation:
A malicious keeper could execute swaps for tokens other than the intended alETH, potentially draining funds.
Validate the _path array to ensure it adheres to the expected structure:
Ensure _path[0].from matches underlying (WETH).
Ensure _path[_path.length - 1].to matches asset (alETH).
Updated claimAndSwap function:
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.