Core Contracts

Regnum Aurum Acquisition Corp
HardhatReal World AssetsNFT
77,280 USDC
View results
Submission Details
Severity: medium
Valid

Emergency Actions Can Be Re-executed in TimelockController

Summary

Emergency actions lack execution status tracking, allowing potential duplicate executions.

Vulnerability Details

TimelockController::executeEmergencyAction() do not mark op.executed = true, action can be redone by mistake

  1. action is added

  2. action is added to emergency with scheduleEmergencyAction()

  3. action is done through executeEmergencyAction(), id is remove from _emergencyActions but op.executed = false, so action is still available in _operations

  4. Time pass and it's now possible to execute the action

  5. Admin re run the action by mistake

Impact

An admin can re execute a transaction by mistake.

Tools Used

Manual

Recommendations

Operations runned by executeEmergencyAction() should mark the operation as executed, i.e op.executed = true

Updates

Lead Judging Commences

inallhonesty Lead Judge 3 months ago
Submission Judgement Published
Validated
Assigned finding tags:

TimelockController.executeEmergencyAction doesn't mark operations as executed, allowing the same operation to be executed again through the regular path

inallhonesty Lead Judge 3 months ago
Submission Judgement Published
Validated
Assigned finding tags:

TimelockController.executeEmergencyAction doesn't mark operations as executed, allowing the same operation to be executed again through the regular path

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.