The StrategyArb.sol
and StrategyOp.sol
contracts implement a setRouter
function which is used to set a new router for the swaps:
However, when setting a new router, it doesn't reset the type(uint256).max
WETH approval to the previous router.
Having open approvals to other protocols is always risky in case there is a vulnerability at said protocol. Also, as mentioned on LightChaser's report, it's impossible to set back a previously set router, since the safeApprove
function reverts if the existing approval isn't 0
.
Manual review
Always reset the approval to the previously used routers.
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.