The LevelOne and LevelTwo contracts are missing the _disableInitializers() call in their constructors. These contracts are using the Initializable pattern, and without _disableInitializers(), they are open to malicious attack if not properly initialized.
A malicious actor could re-initialize the implementation contract.
Manual review and solodit checklist.
Add _disableInitializers() to the constructor of both LevelOne and LevelTwo contracts to prevent any harm.
See https://docs.openzeppelin.com/contracts/5.x/api/proxy#Initializable
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.