Admin MUST be transferred via a two-step process.
The admin address carries numerous important abilities for the system.
However the transferAdmin
function in IAdminable
contract allows the admin address to be errantly transferred to the wrong address as it does not use a two-step transfer process.
Admin address can be errantly transferred to the wrong address leading to lost of collected ProtocolRevenue. Also the protocolfee can not be set.
Manual Review
Recommended Mitigation:
Implement a two-step transfer process. Use the openzeppelin ownable2step contract.
It is important to make this function timelocked as it is a criticial function shown in LightChaser in Low-13.
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.