Core Contracts

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

Missing oracle staleness checks in LendingPool:getNFTPrice()

Summary

Missing oracle staleness checks in LendingPool:getNFTPrice()

Vulnerability Details

The function invokes the RAAC oracle to obtain the latest price for a given tokenId, however the lastUpdateTimestamp parameter is unused, potentially allowing the contract to consume stale prices.

function getNFTPrice(uint256 tokenId) public view returns (uint256) {
(uint256 price, uint256 lastUpdateTimestamp) = priceOracle.getLatestPrice(tokenId); // @audit-issue no price staleness validation
if (price == 0) revert InvalidNFTPrice();
return price;
}

Impact

Consumption of stale prices which can impact user's collateralization ratio.

Tools Used

  • Manual Review

Recommendations

Ensure that lastUpdateTimestamp is within a certain time threshold.

Updates

Lead Judging Commences

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

LendingPool::getNFTPrice or getPrimeRate doesn't validate timestamp staleness despite claiming to, allowing users to exploit outdated collateral values during price drops

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

LendingPool::getNFTPrice or getPrimeRate doesn't validate timestamp staleness despite claiming to, allowing users to exploit outdated collateral values during price drops

Support

FAQs

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