In LiquidityPool::setParameter
, the contract owner has the ability to modify critical risk parameters such as liquidationThreshold
, healthFactorLiquidationThreshold
, and liquidationGracePeriod
at any time. This creates a potential vulnerability where user positions may be unexpectedly liquidated or prevented from repaying debt due to abrupt changes in the grace period.
Sudden Liquidation Risk
The liquidationThreshold
and healthFactorLiquidationThreshold
can be lowered without warning, instantly making user positions liquidatable.
Users who were previously safe could become eligible for liquidation without any prior notification or opportunity to adjust their positions.
Debt Repayment Obstruction
The liquidationGracePeriod
determines the time users have to repay their debt after liquidation starts.
If the owner shortens this period, users who were relying on the original grace period may find themselves unable to repay their debt, leading to forced liquidation.
Unexpected Liquidations: Users may lose their collateral without warning.
Debt Repayment Failures: Users planning to repay their debt may be blocked due to grace period changes.
Manual review
Introduce a timelock mechanism (e.g., 24-48 hours) before changes to critical parameters take effect. This ensures users have sufficient time to react to changes.
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.