Root Cause + Impact:
Root Cause: The contract imports Ownable from OpenZeppelin but does not inherit from it.
Impact: Essential ownership functionalities provided by Ownable are unavailable, potentially leading to unauthorized access and control over critical functions.
Vulnerability Details:
Without inheriting from Ownable, the contract cannot leverage modifiers like onlyOwner, which are crucial for restricting access to sensitive functions such as withdraw or updateRegistry.
Recommendations:
Inherit from Ownable to utilize its ownership management features.
Update the contract declaration as follows:
Replace manual owner management with Ownable’s owner variable and onlyOwner modifier to enforce access control.
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.