Description:
The _authorizeUpgrade
function lacks the onlyOwner
modifier, allowing anyone to upgrade the implementation without restriction.
Impact:
Without proper access control, anyone can seize control of your wallet by upgrading it and altering the ownership.
Proof of Concept:
Add this test to the existing test suite to demonstrate the vulnerability:
Recommended Mitigation:
Integrate the onlyOwner
modifier to _authorizeUpgrade
to restrict upgrades to the owner only.
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.