Function afterOrderCancellation
reinstates the nextAction data of a failed action in an attempt to retry its execution. However, there is no guarantee that the underlying reason for the error isn't still in place.
The vulnerability lies in function afterOrderCancellation
, which is triggered whenever an order is cancelled in GMX. This function will set the stage for the same action to be reprocessed, by setting the nextAction.selector
. This is done regardless of the conditions or the reasons for the unexpected cancellation.
Since this protocol only allows one action to be executed at a time, the protocol can get stuck for long periods if the reason for this error is not resolved.
Manual Review
Consider killing the flow and require a new one to be initiated by the user.
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.