GMXVault contract : no checks on the returned value of token approvals (approve).
When GMXVault is deployed: the vault grants some 3rd party contracts (GMX exchange router ,depositVault and withdrawalVault contracts) the approval/allowance on its tokens.
But it was noticed that there's no check on the returned value of the approve function, as some tokens might return false instead of reverting if the approvals fails.
Since there's noway to set the approvals of these tokens again once the vault is deployed; the vault will not be working as intended and if any deposit is made by the vault later; it might be lost as it can't be withdrawn if any of the token approvals for these interacting contracts fails.
Manual Review.
Check the returned value of each approve call; this can be done by wrapping the call with a require statement:
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.