The get_secret function is designed to only allow the owner (@owner) to access vault secrets by checking if the caller parameter matches the hardcoded owner address.
However, the function contains a critical flaw where it always retrieves the vault from the hardcoded @owner address regardless of the caller parameter, while only using the caller parameter for access control validation. This creates an access control bypass where any address can be passed as the caller parameter, and as long as it equals @owner, the function will return the owner's secret.
for this one we can pass @0xcc
as paremeter and retreive the secret
Likelihood:
Anyone can call this view function since it's public and pass @owner as the caller parameter
Impact:
Complete exposure of the owner's secret to any external caller
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.