https://github.com/Cyfrin/2024-12-alchemix/blob/82798f4891e41959eef866bd1d4cb44fc1e26439/src/StrategyArb.sol#L44
In StrategyOp
and StrategyArb
contracts, setRouter
function only focuses on new router address. By ignoring old router, it will still preserve the allowance (uint256.max).
Here's setRouter
function implementation:
The setRouter function updates the router but doesn’t revoke the old one’s access, risking unauthorized token use.
Failing to revoke the old router’s access leaves the protocol exposed to potential exploits, making it a ticking time bomb for unauthorized token drains.
Manual Review
Remove the allowance of previous router before updating to the new router address.
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.