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

"Private" Password can still be seen by anyone as contracts are open source

Summary

The contract's comments hint that you are able to store a private password that nobody can see, but that is impossible in the sense implied.

Vulnerability Details

As per the contract's comment:

* @notice This contract allows you to store a private password that others won't be able to see.

Anyone can access a smart contract's code once it's deployed on the blockchain. Since it is transparent and accessible, the data will be visible and not private in the real-life non coding sense.

From the Secureum Bootcamp:
Since the blockchain is open-source, data with the modifier "private" is never private. It is advised to never store sensitive data on the blockchain.

Impact

Your private password is not so private :) Rating this as high since the password could be crucial to some financial account where funds are stored.

Tools Used

Manual Review

Recommendations

Do not store sensitive information like passwords on the blockchain.

Updates

Lead Judging Commences

inallhonesty Lead Judge
almost 2 years ago
inallhonesty Lead Judge almost 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.