StrategyOp and StrategyArb give underlying token allowances to router but do not remove allowances when router is updated.
StrategyOp and StrategyArb give underlying token allowances to router.
router can be changed any time via the setRouter function.
Nowhere in the strategy contracts there is a way to removed approvals from router.
This allows the contract to enter a state where router is updated via setRouter but the approvals given to the old router are not removed.
The old router will continue to have underlying token approvals for StrategyOp or/and StrategyArb, so it can continue to spend the protocol's tokens when this is not the protocol's intention as the protocol has changed router.
Manual review.
In the setRouter function, remove all allowances for the old router before updating it.
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.