Description: After graduateAndUpgrade
completes, the contract does not clear or reset session‐related state variables (inSession) - to allow a fresh 4-week cycle in the upgraded implementation. Currently, none of these flags are reset, so the proxy’s storage carries stale session state into V2.
Impact: Graduation logic in V2 may erroneously think the prior session is still active.
Proof of Concept:
Note: this PoC assumes that the 'Missing UUPS Inheritance in LevelTwo' issue has already been fixed, so that graduateAndUpgrade gets as far as splitting by totalTeachers instead of reverting earlier.
After this fix include the following test in the LevelOneAndGraduateTest.t.sol
file:
Recommended Mitigation: At end of graduateAndUpgrade
:
`inSession` not updated after during upgrade
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.