In the comments it is specified that only the owner can retrieve the password. However this can be bypassed by reading the value directly of the storage.
The contract implements a function called getPassword which prevents callers who are not the owner of the contract from reading the password. As the password is stored in the second storage slot of the contract, anyone can read its value, making the contract vulnerable.
After deploying the contract, we can use cast to check the value of storage slot 1 within the contract.
Unauthorised users can gain access to private data, undermining the intent of the smart contract.
manual review
Do not store private data on the blockchain as it can be read by anyone.
Private functions and state variables are only visible for the contract they are defined in and not in derived contracts. In this case private doesn't mean secret/confidential
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.