The setRouter()
function enables the contract manager to update the router's address used for token swaps. However, the implementation does not explicitly clear the previous router address. As a result, users may still interact with the outdated router, even after the setRouter()
function has been invoked to update it.
This is setRouter()
function in StrategyArb.sol
and StrategyOp.sol
You can check this function with the following links
As evident from the code, this function only updates the router to the provided _router
input without addressing the previous router. Consequently, the previous router retains its permissions to spend tokens.
The old router has still permission to spend tokens. Unauthorized users can use old router
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.