The Stratax protocol uses an owner-controlled access pattern where only the contract owner can create, manage, and close leveraged positions. The owner has exclusive control over critical functions like creating positions, unwinding positions, and recovering tokens.
The transferOwnership() function performs an immediate, single-step ownership transfer without requiring the new owner to accept the transfer. If the owner accidentally transfers ownership to an incorrect address (due to a typo, clipboard hijack, or wrong network address), all user positions become permanently inaccessible with no possibility of recovery.
Likelihood: Low
Human error during ownership transfer is common - copying wrong addresses from clipboard, typos in manual entry, or confusion between different network addresses
No mechanism exists to verify the new owner can actually access the address before transfer completes
Contract upgrades, wallet migrations, or organizational handoffs increase the probability of transfer to wrong address
Impact: Critical
Complete loss of access to all protocol functions - no one can create, unwind, or manage any positions
All user funds locked forever in leveraged positions with no way to close them or recover collateral
No emergency recovery mechanism exists - the contract becomes permanently non-functional
Protocol must be completely redeployed, losing all existing positions and user funds
Implement a two-step ownership transfer pattern where the new owner must explicitly accept ownership:
This ensures:
Transfer is initiated by current owner
New owner must explicitly accept (proves they control the address)
If wrong address provided, original owner retains control
Only completes when new owner confirms
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.
The contest is complete and the rewards are being distributed.