TimelocController contract has an EMERGENCY_DELAY constant:
There's a delay of 1 day required between scheduleEmergencyAction() and executeEmergencyAction().
The logic in executeEmergencyAction() however never verifies it and the user with EMERGENCY_ROLE can schedule & execute within one block.
EMERGENCY_ROLE can act maliciously; breaks the trust assumption that the ecosystem will get 1 day's time to dispute/act after seeing that an emergency action has been scheduled. Users can be caught off-guard.
Implement the delay of EMERGENCY_DELAY inside executeEmergencyAction().
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.