Calling emergencyPause
while a 2 step-process has not finished yet, can cause a loss of funds.
The GMXVault#emergencyPause
function can be called at any time and any status:
When a user deposits or withdraws in the vault they need to wait for GMXCallback
to be called to receive either their shares in the vault or their assets they deposited. If GMXVault:emergencyPause
is called during this time, the callback from GMX will not be able to run. This will cause a loss of user funds.
A user will lose either their shares in the vault or their deposited assets.
Manuel Review
Allow emergencyPause
to only be called in status Open
. To prevent a DOS of the emergency pause by someone spamming deposits either:
use flashbots to execute the tx, so its not visible in the mempool
add a boolean flag that can be set by keeper and which disallows initiating any new processes when the state is currently Open
Impact: High Likelihood: Low/Medium Deposit or withdraw that were in progress will be ignored and cause fund loss. Because emergencyPause is only callable by keepers, Medium is the proper severity.
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.