The removeTeacher()
function allows the principal to maliciously remove teachers between session end and payment distribution in graduateAndUpgrade()
, effectively blocking legitimate teachers from receiving their 35% bursary share.
Location
File: levelOne.sol
Functions:
removeTeacher()
graduateAndUpgrade()
Unprotected Removal Window: Teachers can be removed after session ends but before payments are processed
Test Case:
Test Result:
High Severity because:
Destroys trust in the educational DAO model
Violates implied payment guarantees to teachers
Foundry (forge test)
Manual analysis of state transitions
1) Add Removal Time Lock:
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.