15,000 USDC
View results
Submission Details
Severity: low

Use `Ownable2Step's` transfer function rather than `Ownable's` for transfers of ownership

Summary

Ownable2Step[ https://github.com/OpenZeppelin/openzeppelin-contracts/blob/3d7a93876a2e5e1d7fe29b5a0e96e222afdc4cfa/contracts/access/Ownable2Step.sol#L31-L56 ] and Ownable2StepUpgradeable[ https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/blob/25aabd286e002a1526c345c8db259d57bdf0ad28/contracts/access/Ownable2StepUpgradeable.sol#L47-L63 ] prevent the contract ownership from mistakenly being transferred to an address that cannot handle it (e.g. due to a typo in the address), by requiring that the recipient of the owner permissions actively accept via a contract call of its own

Vulnerability Details

see summary

Impact

Owner can be locked accidently

Tools Used

Foundry Testing

Recommendations

Use Ownable2Step's transfer functions

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.