Description:
In GmxProxy::settle function there should be a check which ensures that GMX order execution feature is enabled, just like it is checked in GmxProxy::createOrder function:
I am aware that the same issue was found in the previous audit by Guardian, but I believe this finding and its duplicates should be counted as valid, because in the current implementation, this issue occurs in a different function (in the last audit report, it was found in GmxProxy::createOrder function) and the sponsors obviously have not noticed it, which means it is not known by them that it still exists.
Impact:
When order execution is disabled, GMX orders will still successfully be created, but will not be executed until the feature is enabled again, due to the feature validation in OrderHandler::_executeOrder. This leads to halted protocol functionality until owner cancels the order (cancel order feature can also be disabled).
Recommended Mitigation:
Add the same GMX feature check from createOrder function to settle function:
Likelihood: Low, when the execution is disabled on GMX. Impact: Low/Medium, cyclic settlement/cancelOrder loop.
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.