When setting a new route, the new route allowance is set to type(uint256).max
, however the old route allowance is kept at uint256.max
as well. Because the approved address is an upgradable contract it would be wiser to reduce its allowance to 0 when moving on to a new router.
As described above when setting a new router, the old router still has uint256.max
this poses a threat as that current allowed contract is upgradable and if it becomes malicious there are no ways to reduce its current allowance.
In the scenario where a malicious upgrade is made, assets left on the contract can be siphoned away.
Manual review
Consider at least removing the allowance when moving to a new implementation.
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.