The Secret Vault contract has a design flaw that makes it completely unusable. Users can store secrets but can never retrieve them.
The get_secret()
function contains this check:
Caller can never be same as owner address
Problem: Only the hardcoded @owner
address can call this function
Likelihood:
HIGH
Impact:
Permanent data loss - stored secrets become inaccessible forever
Complete service breakdown - users can write but never read their data
USER FLOW
Regular users store secrets at their own addresses
Regular users are NOT the owner
The function always fails for legitimate users
Add these checks to correctly check and give access to the users
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.