The strategy's _swapUnderlyingToAsset
function has insufficient price validation when swapping WETH to alETH, only requiring the output amount to be greater than input by 1 wei. This allows potential MEV exploitation and value extraction from the strategy.
The vulnerability exists in the _swapUnderlyingToAsset
function:
The key issues are:
The function only requires minOut > _amount
, meaning a swap returning just 1 wei more than input is considered valid
There's no oracle price validation despite TODO comment indicating it should check "price is better than 1:1"
The keeper can execute trades at minimal premium, potentially extracting value through MEV
Low severity impact as it allows:
Keepers to execute unfavorable trades for the strategy (keepers are trusted any ways, but further checks should be applied)
Value extraction through MEV sandwich attacks especially if sequencer got decentralized
Loss of value for strategy users since trades can execute at minimal premium instead of market rate premium
Manual code review
Implement oracle price validation:
Add slippage protection parameters:
Minimum acceptable premium percentage
Maximum allowed deviation from oracle price
Configurable by management
Add events to track swaps and prices for monitoring
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.