Description: The graduateAndUpgrade() function fails to enforce that students meet the required cutOffScore before being upgraded to the next contract level. While cutOffScore is defined and set during startSession(), it is never referenced again. As a result, all students are implicitly treated as eligible for graduation regardless of performance.
This breaks the logical expectation that graduation should be merit-based and undermines the scoring system implemented via studentScore.
Impact: Any student, including those with a failing score, can be passed forward to LevelTwo. This:
Voids the purpose of reviews and scoring,
Introduces inconsistencies in evaluation logic across levels,
May lead to unexpected behavior or vulnerabilities in LevelTwo if it assumes all students met a baseline qualification.
Proof of Concept: Paste the following test in the test suite...
Logs:
Recommended Mitigation: Filter listOfStudents before upgrade, or explicitly store eligible students. Example:
All students are graduated when the graduation function is called as the cut-off criteria is not applied.
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.