Core Contracts

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

Unfair interest accrual during protocol pause even when repay is blocked

Description

The LendingPool protocol continues to charge interest on borrowed positions even when the protocol is paused. This creates an unfair situation for borrowers because while interest continues to accrue on their loans, they are prevented from repaying their debt during the pause.

This issue stems from two key implementations:

  1. The protocol's pause functionality blocks all major operations including repayment via the whenNotPaused modifier:

@---> function repay(uint256 amount) external nonReentrant whenNotPaused onlyValidAmount(amount) {
_repay(amount, msg.sender);
}
  1. However, interest calculation in ReserveLibrary.sol continues regardless of the protocol's pause status:

function updateReserveInterests(ReserveData storage reserve,ReserveRateData storage rateData) internal {
@---> uint256 timeDelta = block.timestamp - uint256(reserve.lastUpdateTimestamp);
if (timeDelta < 1) {
return;
}
// ... interest calculation continues without checking pause status
reserve.liquidityIndex = calculateLiquidityIndex(
rateData.currentLiquidityRate,
@---> timeDelta,
reserve.liquidityIndex
);
// Update usage index (debt index) using compounded interest
reserve.usageIndex = calculateUsageIndex(
rateData.currentUsageRate,
@---> timeDelta,
reserve.usageIndex
);
// .... rest of the code
}

The debt accrual during pause can be observed through the balanceOf() function in DebtToken.sol too, which continues to return growing debt amounts based on the compounding interest:

function balanceOf(address account) public view override(ERC20, IERC20) returns (uint256) {
uint256 scaledBalance = super.balanceOf(account);
return scaledBalance.rayMul(ILendingPool(_reservePool).getNormalizedDebt());
}

Impact

  1. Financial Loss: Borrowers incur additional debt through interest accrual during periods when they are explicitly prevented from managing their positions.

  2. Unfair Penalization: Users might face liquidation thresholds sooner due to growing debt during pause periods and get liquidated as soon as protocol is unpaused.

Mitigation

  1. EITHER modify interest accrual to respect pause status

  2. OR allow repayments even during protocol pause

Updates

Lead Judging Commences

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

Unfair Liquidation As Borrow Interest Accumulates While Paused

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

Unfair Liquidation As Borrow Interest Accumulates While Paused

Support

FAQs

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