Given that MysteryBox::changeOwner() has no access control, anyone can make themselves the owner of the protocol and call MysteryBox::withdrawFunds() for themselves
No access control on MysteryBox::changeOwner(), means that a malicious actor can call MysteryBox::withdrawFunds() in order to steal all funds from the protocol
All funds can be stolen from the protocol
Add to bottom of TestMysteryBox.t.sol
Manual Review
Add access control to MysteryBox::changeOwner()
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.