The password can be captured by an owner/runner of the EVM node when the getPassword()
is called.
When the contract owner makes a call request to the getPassword()
, the EVM node that processes the call request can easily capture the returned password, exposing the password to an owner/runner of the EVM node.
https://github.com/Cyfrin/2023-10-PasswordStore/blob/856ed94bfcf1031bf9d13514cb21b591d88ed323/src/PasswordStore.sol#L39
The password can be easily exposed to the owner/runner of the EVM node.
Manual Review
Sensitive data like passwords should not be processed or stored on a public blockchain.
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.