RAACHousePriceOracle
contract lacks proper validation of lastHouseId
before updating house prices in RAACHousePrices
. The house ID (lastHouseId
) is set in _beforeFulfill()
, but there is no guarantee that _beforeFulfill()
is always called before _processResponse()
. As a result:A wrong houseId
could receive a price update that was not meant for it.
If _beforeFulfill()
is skipped or reverts, lastHouseId
may remain outdated or uninitialized, leading to incorrect price updates.
If lastHouseId
is incorrect, the contract could update the wrong house’s price, causing data inconsistencies.
Example:
The oracle fetches House ID 1001’s price update.
Due to a bug, House ID 5002 receives the price instead.
This results in wrong pricing data affecting lending, insurance, and financial applications.
manual review
lastHouseId
before updating pricesEnsure _beforeFulfill()
executes before _processResponse()
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.