Core Contracts

Regnum Aurum Acquisition Corp
HardhatReal World AssetsNFT
77,280 USDC
View results
Submission Details
Severity: medium
Invalid

Liquidations Cannot Be Finalized If Stability Pool Is Paused

Summary

The finalizeLiquidation function relies on the Stability Pool to trigger liquidations. If the Stability Pool is paused, all liquidations are blocked, allowing unhealthy positions to persist beyond the liquidation grace period, jeopardizing the protocol’s solvency.

Vulnerability Details

The finalizeLiquidation function is callable only by the Stability Pool:

function finalizeLiquidation(address userAddress) external nonReentrant onlyStabilityPool { // @audit-issue if stability pool gets paused then liquidations cant get processed.

Problematic Scenario

  • Unhealthy positions are flagged for liquidation and a grace period begins.

  • If the Stability Pool is paused, finalizeLiquidation cannot be called.

  • Once the grace period expires, these positions should be liquidated, but the pause halts this process indefinitely.

Impact

  • Protocol Insolvency Risk: Collateral shortfalls may occur, affecting protocol health.

  • User Exploitation: Borrowers can intentionally create unhealthy positions without facing liquidation.

  • Economic Risk: Undermines stability and lender confidence.

Tools Used

Manual code review.

Recommendations

  • Allow Fallback Liquidations: Permit a designated emergency role to finalize liquidations during Stability Pool pauses.

  • Decouple Liquidations: Remove dependency on the Stability Pool’s active state for critical liquidation functions.

Updates

Lead Judging Commences

inallhonesty Lead Judge 4 months ago
Submission Judgement Published
Invalidated
Reason: Design choice
inallhonesty Lead Judge 4 months ago
Submission Judgement Published
Invalidated
Reason: Design choice

Support

FAQs

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