The ProxyFactory.sol
contract inherits from {Ownable}
contract of Openzeppelin which uses single step ownership transfer. However, the implementation is not safe as the process is one-step which is risky due to possible human error which is unrecoverable. For example, an incorrect address, for which the private key is not known, could be passed accidentally.
Single-step ownership transfer is dangerous due to possible human error which could result in locking all the functions that use the onlyOwner
modifier.
Critical functions using the onlyOwner
modifier will be locked.
Manual Review
Use Ownable2step
by openzepplelin instead of Ownable
.
https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable2Step.sol
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.