Description:
The LevelTwo contract is missing three storage slots: schoolFees, reviewCount, and lastReviewTime.
As a result, subsequent slots are shifted upward, leading to mismatched values when accessing storage.
Impact: Storage misalignment leads to incorrect variable reads, potentially causing broken logic or unexpected behavior in the upgraded contract.
Proof of Concept: first need to fix the LevelTwo not implementing UUPSUpgradeable issue, then add the following test
Recommended Mitigation:
Make sure the storage layout of LevelTwo is identical to LevelOne by adding the missing variables.
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.