The RAACPrimeRateOracle and RAACHousePriceOracle contracts are major components that update key economic parameters such as primeRate and housePrice in the lending protocol. The prime rate determines borrowing costs while house prices determine collateral values and liquidation triggers.
Both contracts lack staleness checks in their _processResponse functions, allowing outdated price data to be used. This creates a significant risk as the protocol continues using potentially stale or incorrect data when oracle updates fail or are delayed.
RAACPrimeRateOracle:
RAACHousePriceORacle:
Likelihood: High
Oracle networks experience downtime and delays
Network congestion prevents timely updates
Oracle nodes can abandon the feed
Impact: Medium
Stale prime rates lead to incorrect borrowing costs (www.github.com/Cyfrin/2025-02-raac/blob/89ccb062e2b175374d40d824263a4c0b601bcb7f/contracts/libraries/pools/ReserveLibrary.sol#L270)
Outdated house prices cause improper liquidations (www.github.com/Cyfrin/2025-02-raac/blob/89ccb062e2b175374d40d824263a4c0b601bcb7f/contracts/core/pools/LendingPool/LendingPool.sol#L545)
For RAACPrimeRateOracle contract:
For RAACHousePriceOracle contract:
Documentation: https://blog.openzeppelin.com/secure-smart-contract-guidelines-the-dangers-of-price-oracles
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.