Any actor is able to call function changeOwner
and obtain owner
role.
The vulnerability exists in the changeOwner
function, as it is a public function without the required protection. Any malicious actor can call the function and obtain the owner
role.
The owner
role is able to call access controled functions as setBoxPrice
and withdrawFunds
. As any user is able to obtain owner
role, it can ultimately drain the contract's funds.
Manual Review
Add a require statement to only let the owner update the owner.
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.