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.