The setHousePrice
function in the RAAC protocol lacks proper access control, allowing only the oracle to update house prices. This contradicts the documentation, which specifies that the function should be "Owner Only." The missing implementation of the onlyOwner
modifier creates a potential vulnerability when the oracle reports incorrect or stale prices.
2025-02-raac/contracts/core/primitives/RAACHousePrices.sol at main · Cyfrin/2025-02-raac
The function uses the onlyOracle
modifier, which restricts access to only the oracle.
The documentation states that the function should be "Owner Only," yet the contract permits oracle access without owner override capabilities for manual corrections.
Incorrect or Stale Prices: If the oracle provides incorrect or outdated prices, the owner cannot manually correct them, potentially causing financial discrepancies within the protocol.
Limited Control: The owner’s inability to intervene will affect the protocol's stability, especially during oracle failures or compromised oracle scenarios.
Add this Modifier: Replace onlyOracle
with onlyOwnerOrOracle
to allow both the oracle and the owner to update house prices.
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.