he giveReview
function lacks a check to prevent reviews after sessionEnd
, allowing teachers to submit reviews post-session, which can unfairly alter student scores before the upgrade.
Root Cause: No check for block.timestamp <= sessionEnd
in giveReview
.
Attack Path: A teacher submits a review after sessionEnd
but before graduateAndUpgrade
, lowering a student’s score below cutOffScore
.
Affected Component: The review system’s timing logic.
Expected: Review reverts as the session has ended.
Actual: Review succeeds, lowering the score to 90.
Unfair Score Changes: Prevents students from graduating by late score manipulation.
Rule Violation: Breaks the rule that reviews should only occur during the session.
Manual Review
Add a sessionEnd
check. Here’s the diff:
`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.