The protocol is built around a Vault architecture, allowing users to deposit and withdraw funds that are then used to open leveraged positions via the GMX protocol. However, the current implementation is flawed because the deposit function lacks a mechanism to ensure that users receive a minimal amount of shares.
The current implementation of deposit is as follows:
The issue with this implementation is that users have no control over how many shares they will receive, making them vulnerable to MEV attacks due to the lack of slippage protection.
Users may receive fewer shares than expected, exposing them to MEV attacks.
Manual review.
Introduce a slippage parameter to mitigate this issue.
Shares represent a part of the vault. Even if someone performs a frontrun or sandwich attack, you will still have the corresponding amount of shares representing your deposit. A user could add liquidity two days later, and you would still have the same amount of shares.
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.