The protocol have an initialization function where the actual initialization of the contract is done instead of the constructor. However, this function can be called by anyone and an attacker can initialize the contract with parameters that are useful to him. Even if we have a specific principle configured in the deployment script, an attacker can front-run the transaction and become a principle.
An attacker can frontrun the transaction and set initial values to whatever he need to break the protocol.
Attacker can initialize the contract to take advantage over it.
Slither
The system can be re-initialized by an attacker and its integrity tampered with due to lack of `disableInitializer()`
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.