Anyone can call the setPassword(), potentially causing the loss of the stored password owned by the contract, thereby compromising the core functionality of the smart contract designed to securely store passwords.
setPassword() is external and lacks proper control accesses. An attacker can call the function and set a random password, causing the legitimate owner to lose their password. This completely breaks the intended functionality of the smart contract.
Owner losses their password.
Manual review
Add a acces control like getPassword():
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.