get_secret
function takes an arbitrary address, allowing any user to read the owner's secretThe secret_vault::get_secret
function allows the caller of the function to read the secret stored in the owner's vault by passing the owner's address as the caller
parameter. The function does not verify that the call is being made by the owner of the address being queried.
Likelihood:
The likelihood is High because:
The owner's secret will be read by another user whenever they call secret_vault::get_secret
while passing said owner's address as caller
.
Impact:
The impact is High because:
The owner's secret stored in the vault is not secure, it can be easily read by anyone.
The following test demonstrates that any user can read the owner's secret:
Restrict access to secrets by making get_secret an entry function that takes &signer and only allows the caller to access their own secret:
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.