The graduateAndUpgrade
function allows students to graduate regardless of their score, violating the invariant that students must meet the cutoff score to advance.
The contract's invariants state that "Any student who doesn't meet the cutOffScore
should not be upgraded". However, the graduateAndUpgrade
function does not validate student scores against the cutOffScore
before proceeding with the upgrade.
Students can graduate without meeting minimum score requirements
Violates the core grading invariant of the system
Could lead to unqualified students advancing to LevelTwo
May result in unfair advancement criteria
Manual code review
Foundry for testing
Add score validation in the graduateAndUpgrade
function:
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.