Core Contracts

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

Liquidation System Limitations Creates Protocol Insolvency Risk During Market Stress

Summary

During periods of high market volatility or crashes, the protocol faces significant risk of insolvency due to critical limitations in its liquidation system. The combination of required full position liquidations, restricted liquidator access (only manager/owner), and sequential liquidation processing creates a bottleneck that could prevent timely liquidations of unhealthy positions.

Vulnerability Details

The liquidation system has three critical limitations as shown in liquidateBorrower() function.

  1. Only manager/owner can finalize liquidations

function liquidateBorrower(address userAddress) external onlyManagerOrOwner nonReentrant whenNotPaused {
_update();
uint256 userDebt = lendingPool.getUserDebt(userAddress);
uint256 scaledUserDebt = WadRayMath.rayMul(userDebt, lendingPool.getNormalizedDebt());
  1. Positions must be liquidated in full - no partial liquidations supported:

if (crvUSDBalance < scaledUserDebt) revert InsufficientBalance();
  1. Liquidations must be processed sequentially, creating a bottleneck during market stress:

bool approveSuccess = crvUSDToken.approve(address(lendingPool), scaledUserDebt);
if (!approveSuccess) revert ApprovalFailed();
lendingPool.updateState();
lendingPool.finalizeLiquidation(userAddress);

Impact

The protocol's restrictive liquidation system creates a critical risk of insolvency during market stress events. When a market downturn occurs, the requirement for full position liquidations combined with single manager processing creates a severe bottleneck. For example, during a 30% market drop, if multiple positions need liquidation, the sequential processing and full position coverage requirements would prevent timely liquidations while unhealthy positions continue to deteriorate. This can trigger a death spiral where the protocol becomes increasingly insolvent as it fails to process liquidations quickly enough to prevent the accumulation of bad debt.

Tools Used

Manual Review

Recommendations

Allow permissionless liquidators with incentives & add partial liquidation support

Updates

Lead Judging Commences

inallhonesty Lead Judge 7 months ago
Submission Judgement Published
Validated
Assigned finding tags:

StabilityPool has no ability to liquidate large positions due to all-or-nothing design - partial liquidation not supported, risking protocol insolvency

Support

FAQs

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

Give us feedback!