The BaseKeeper::setForwarder function does not include a zero address check for the forwarder parameter. This oversight allows the forwarder address to be set to a zero address, which can lead to potential security issues and disruptions in the intended functionality of the contract.
The setForwarder function is intended to update the forwarder address in the BaseKeeperStorage. However, the function does not validate that the forwarder address is not a zero address before assigning it to storage.
Here is the relevant code snippet:
The setForwarder function does not perform a check to ensure the forwarder address is valid and not a zero address:
Setting a zero address as the forwarder can cause disruptions in the contract's forwarding mechanism, potentially leading to failed transactions or loss of functionality.
Manual Review
To prevent this issue, a zero address check should be added to the setForwarder function to ensure that the forwarder address is always valid.
Here is the updated function with the necessary check:
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.