Beginner FriendlyFoundry
100 EXP
View results
Submission Details
Severity: high
Valid

Everyone can see the password

Summary

The password is kept in storage, and it's crucial to understand that everything on the blockchain is public. When we use the private visibility modifier, it simply means that other contracts are not permitted to access it directly. However, it's worth noting that using tools like ethers.js, it's still possible to read the variable stored in the contract's storage, and in this case, the password is stored at storage slot 1.

Vulnerability Details

Explained above

Impact

Contract is not doing what is expected to do

Tools Used

Manual review

Recommendations

Don't store data on the blockchain if you want it to be private.

Updates

Lead Judging Commences

inallhonesty Lead Judge
about 2 years ago
inallhonesty Lead Judge about 2 years ago
Submission Judgement Published
Validated
Assigned finding tags:

finding-anyone-can-read-storage

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

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.