Description: If _disableInitializers is not used in the LevelOne and LevelTwo contracts,
anyone can invoke the initialize function on the implementation contracts.
While this may not immediately impact the proxy contract,
it's still a best practice to include _disableInitializers to avoid potential vulnerabilities or misuse.
Impact: If the implementation contract contains dangerous functions like selfdestruct callable by a privileged account,
an attacker could exploit this to destroy the implementation contract, rendering the proxy contract unusable.
Recommended Mitigation: add _disableInitializers in the constructor of LevelOne and LevelTwo contract
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.