DeFiFoundry
50,000 USDC
View results
Submission Details
Severity: low
Invalid

Lack of Maximum Price Impact for Opening/Increasing Positions Will Negatively Impact Users

Summary

According to GMX, price impact rebates only apply to closing/decreasing positions. For opening/increasing positions, there is no maximum price impact. For market increase orders, the price impact is displayed on the UI. However, since users cannot determine the exact price impact when opening a position, they may be negatively impacted if the price impact is too high.

Vulnerability Details

According to the GMX Docs:

Note that this rebate only applies to closing/decreasing positions; for opening/increasing positions, there is no maximum price impact. For market increase orders, the price impact would be shown on the interface so that users can decide if the impact is acceptable. For limit orders, the acceptable price, including any price impact, must be met for the order to be executed.

Since users open positions with the Gamma protocol, they do not know the exact price impact beforehand. As a result, if the price impact is too high when opening a position, users may be negatively affected, as there is no threshold to revert the transaction in case of excessive price impact.

Impact

Users are unable to determine the exact price impact before opening a position. As a result, their position may be opened even if the price impact is excessively high (which they do not want), leading to unintended losses.

Tools Used

Manual Review

Recommendations

Implement a threshold for price impact when opening a position. If the price impact exceeds this threshold, the transaction should revert.

Updates

Lead Judging Commences

n0kto Lead Judge 9 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

Suppositions

There is no real proof, concrete root cause, specific impact, or enough details in those submissions. Examples include: "It could happen" without specifying when, "If this impossible case happens," "Unexpected behavior," etc. Make a Proof of Concept (PoC) using external functions and realistic parameters. Do not test only the internal function where you think you found something.

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.

Give us feedback!