There is no restriction about who is able to call setPassword function. Every user and contract is able to call it and change current password.
Missing check for owner will allow all users to change the password. This way, it is possible for anyone to change your password and you will not have access to your old password that you have saved
By creating Attacker contract the contract is able to call PasswordStore contract and change it's password because there is not modifier to check that only owner of PasswordStore contract can change the password.
Manual Review
Remix Ide
Create onlyOwner modifier to check that only the owner of contract is able to execute function and attach the modifier to setPassword function
Anyone can call `setPassword` and set a new password contrary to the intended purpose.
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.