Vulnerability Details
Unreasonable Functionality_1: Due to the absence of the notYetInSession modifier, a teacher can review a student even before the school year starts, as long as the student is registered.
Missing Functionality: When review = false, giveReview deducts points from the student, but there is no point addition when review = true. This is a critical missing functionality!
Unreasonable Functionality_2: giveReview checks reviewCount < 5, but fails to increment this value, causing the condition to always be true. Therefore, a teacher can review a student an unlimited number of times, eventually reducing their score to 0!
Impact
Due to the missing and unreasonable functionalities in giveReview, students will be treated unfairly, as detailed above.
POC
Not written.
Recommendations
Add the notYetInSession modifier.
Add reviewCount[_student] += 1.
Add a point addition operation when review = true: studentScore[_student] += 10;.
`inSession` not updated after during upgrade
`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.