Core Contracts

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

Centralization Risk in Oracle Updates

Summary

The RAACHousePriceOracle contract depends solely on a single Chainlink oracle for price updates via _processResponse(), with no additional validation. A compromised oracle could set arbitrary prices, severely impacting downstream contracts like LendingPool by manipulating collateral values. This high-impact, medium-likelihood vulnerability risks significant financial losses due to centralized trust.

Vulnerability Details

The _processResponse() function decodes the oracle’s response and sets house prices without cross-checking. Example:

Malicious oracle sets house ID 1’s price to 1 wei (real value 1e24 wei, ~1M) in undercollateralized debt exposure due to the manipulated price.

Impact

The protocol could suffer massive losses (e.g., $1M per incident), a high-impact outcome due to inflated or deflated collateral values triggering undercollateralized loans or missed liquidations. The medium likelihood reflects the realistic risk of oracle compromise or error, threatening downstream financial stability.

Tools Used

Manual Code Review: To confirm lack of validation in _processResponse().

Recommendations

Implement multi-oracle consensus or on-chain validation:

function _processResponse(bytes memory response) internal override {
uint256 price = abi.decode(response, (uint256));
// Example: Require secondary oracle confirmation (pseudo-code)
require(secondaryOracle.verifyPrice(lastHouseId, price), "Price not verified");
housePrices.setHousePrice(lastHouseId, price);
emit HousePriceUpdated(lastHouseId, price);
}
Updates

Lead Judging Commences

inallhonesty Lead Judge 4 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

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