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

Price Oracle Manipulation could lead to financial losses, unfair liquidations, and protocol instability.

Summary

The contract relies on Chainlink price feeds for accurate market data. If the price feed is compromised or experiences delays, it could lead to incorrect position valuations or liquidations.

Vulnerability Details

for example in the line of code

The contract relies on a single oracle (IOracle(oracle).getPrimaryPrice) to fetch prices. If this oracle is compromised or delayed, the prices returned could be incorrect, leading to incorrect position valuations or liquidations.

  • Proof of Concept (PoC):

    • An attacker manipulates the Chainlink price feed, causing the contract to open or close positions at incorrect prices.

    • A delay in the price feed during high volatility results in outdated pricing, leading to suboptimal trades.

Impact

High. Incorrect pricing could lead to financial losses, unfair liquidations, and protocol instability.

Tools Used

Recommendations

  • Use multiple independent price oracles to validate prices and reduce reliance on a single source.

  • Implement price deviation checks to detect and respond to anomalies.

  • Add a grace period for price updates to account for potential delays.

Updates

Lead Judging Commences

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

Informational or Gas

Please read the CodeHawks documentation to know which submissions are valid. If you disagree, provide a coded PoC and explain the real likelihood and the detailed impact on the mainnet without any supposition (if, it could, etc) to prove your point.

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.