Normal behavior is that only the owner may set and retrieve their secret.
Current behavior is that anyone can read the owner’s secret by simply passing @owner into the view function. The function authorizes based on a user-provided address parameter, not the transaction signer.
Likelihood: High
trivial call with @owner as parameter
no signer-based auth, anyone can call the function
attack path is straightforward
Impact: High
Breaks core confidentiality and main functionality.
The protocols that trusted their users' secrets to be stored using this contract are at risk of a security breach.
Users may potentially lose data or funds.
The test shows that a non-owner can read the owner’s secret by calling the view function with @owner as the argument. There’s no signer-based auth; the function authorizes purely on the caller-supplied parameter.
Enforce signer-based authentication for secrets to be read only by actual owner.
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.