RAACHousePrices sets the lastUpdateTimestamp for all to block.timestampThe RAACHousePrices contract contains a critical design flaw where updating the price of one RAAC House affects the last update timestamps of all houses. This creates misleading information about price freshness across different properties, potentially affecting market decisions and trust in the system.
The issue stems from the contract's architecture where a single global timestamp variable tracks updates across all properties:
The impact of this vulnerability is that it creates misleading information about price freshness across different properties. When a single house price is updated, the global timestamp makes it appear as though all house prices were recently updated, even though they may be stale. This could lead to buyers making decisions based on incorrect assumptions about price freshness, potentially affecting market dynamics and trust in the system. For example, if a buyer sees that the last update timestamp is recent, they might assume all house prices are current market values, when in reality some prices might be weeks or months old. This could result in buyers overpaying for properties with stale prices or missing good deals on recently updated properties, as they cannot distinguish between fresh and stale prices.
Manual Review
Implement Per-Token Timestamp Tracking
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.