The function MondrianWalletV2::_authorizeUpgrade
don't have a verification to know who can upgrade the contract.
The function MondrianWalletV2::_authorizeUpgrade
don't verify if only owner could be upgrade the contract or other actor:
Anyone can upgrade the contract and hack the funds.
Foundry and Solidity
Add the following PoC to test/ModrianWallet2Test.t.sol
:
And run: forge test --zksync --system-mode=true --match-test testZkOnlyAdminCanUpgradeContract
Add the modifier onlyOwner
:
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.