Normal behavior - User deploys new Stratax contract, initialize it, starts creating leveraged positions etc..
Issue - Constructor is empty and owner as well as other critical params are set in the initialize function which has no protection and can be called by a malicious user
Likelihood:
High: Everyone can frontrun the actual owner's tx to initialize the Stratax contract
Impact:
Impact - Users cannot create leveraged positions since they won't be the owners
Impact - Malicious oracle registered
Impact - Random address set for aave pool
Impact - Random address set for 1inch router
Impact - Random address for aave data provider
Bob wants to create a leverage position and firstly deploys a new Stratax contract for that purpose
Since this happens through a proxy , the Stratax.sol is an implementation contract and has initialize
The contract initialization has no protection and constructor is missing _disableInitializers()
Attacker frontruns user's initalization and overtakes the contract
Update the constructor to have _disableInitializers()
Implement access control
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.