The execution path is cancelFlow() --> _cancelFlow() which attempts to transfer collateral token to the depositor:
If the depositor has gotten blacklisted by USDC at this point of time, then cancelFlow() will revert. There would be no way for the Keeper to now remove this flow and delete the depositInfo[depositId].
As the natspec mentions, the need for cancelFlow() is because:
As a result of this vulnerability, there would now be no way to cancel the current ongoing flow due to any accidents from Gamma's or GMX's side.
Wrap the collateralToken.safeTransfer() call in a try-catch block.
Likelihood: Extremely Low, when user is blacklisted between the deposit/withdraw and cancelFlow is called by the Keeper. Impact: Medium/High, cancelFlow DoS.
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.