The setPassword function is not restricted to only the owner of the contract. Anyone can call the function and set/overwrite the password.
The notes state that the setPassword function is limited to only the owner, but there is no limitation in this code to require that s_owner be the one calling this function. Anyone could call it.
If the owner of the contract was relying on this contract to store their password and someone else came along and changed it, their password would be lost.
Manual review
VS Code
Remix
You could add an onlyOwner modifier but since you already have a custom error, we can just add that to the setPassword function instead (see below). Also, I tested it in remix and a modifier v a custom error uses the same amount of gas, apparently.
Modified 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.