During leveraged position creation, the protocol validates safety by checking that the health factor is greater than 1e18 inside _executeOpenOperation.
This check assumes the calculated health factor remains valid throughout the entire execution flow. However, opening a leveraged position involves multiple external operations, including flash loans, token swaps via an aggregation router, and Aave supply/borrow interactions.
Because the health factor is validated only once and no safety buffer is enforced, execution-time changes such as swap slippage, oracle updates, or interest accrual may reduce the final health factor below safe levels.
As a result, a position can pass validation but end up very close to — or even below — liquidation threshold immediately after creation.
Likelihood:
Swap aggregators introduce unavoidable slippage.
Market prices may change between calculation and final settlement.
Lending protocol state (interest/index updates) may slightly alter borrowing power.
These conditions occur regularly in live DeFi environments.
Impact:
Users may open positions that are instantly liquidatable.
Unexpected liquidations may occur despite passing protocol checks.
Protocol safety assumptions become unreliable.
Example scenario:
User opens a leveraged position.
Calculated health factor = 1.02, which passes validation.
Swap execution returns fewer tokens due to slippage.
Supplied collateral becomes lower than expected.
Final health factor drops to 0.99.
Position becomes liquidatable immediately after opening.
The protocol does not re-check the health factor after completing all operations.
Recalculate and validate the health factor after completing all leverage operations.
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.
The contest is complete and the rewards are being distributed.