The _swapUnderlyingToAsset has block.timestamp as the deadline parameter which means there is no deadline.
In StrategyArb.sol and StrategyOp.sol the _swapUnderlyingToAsset function performs a swap using a router. The deadline parameter is simply passed in currently as block.timestamp in which the transaction occurs.
This means that the transaction has no deadline which means that a swap transaction may be included anytime by validators and remain pending in mempool, potentially exposing users to sandwich attacks by attackers or MEV bots.
No deadline parameter exposing users to sandwich attacks.
Manual Review
Allow the caller of the function to pass a deadline parameter.
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.