Contract's function mutating the s_password can be called by any address because it lacks check of the msg.sender.
Following function can be called by any account address:
Following test, added in PasswordStore.t.sol proves the issue:
Critical
Manual review was used.
No automatic tools for code analysis were used.
Standard tools described in https://book.getfoundry.sh/ were used to deploy, test and query the contract.
Protect via modifier:
The functions that are supposed to be executed only by the owner of the contract should use that modifier in their signature:
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.