Chainlink LatestRoundData
can return stale price due to insufficient checks. As result protocol can make decisions based on not up to date prices, which can cause loses.
Chainlink classifies their data feeds into five different groups regarding how reliable is each source thus, how risky they are. The groups are Verified Feeds, Monitored Feeds, Provisional feeds , Custom Feeds and Specialized Feeds (they can be seen here). The risk is the lowest on the first one and highest on the last one.
A strong reliance on the price feeds has to be also monitored as recommended on the Risk Mitigation section. There are several reasons why a data feed may fail such as unforeseen market events, volatile market conditions, degraded performance of infrastructure, chains, or networks, upstream data providers outage, malicious activities from third parties among others.
Chainlink recommends using their data feeds along with some controls to prevent mismatches with the retrieved data. Along some recommendations, the feed can include circuit breakers (for extreme price events), contract update delays (to ensure that the injected data into the protocol is fresh enough), manual kill-switches (to cease connection in case of found bug or vulnerability in an upstream contract), monitoring (control the deviation of the data) and soak testing (of the price feeds).
The lastRoundData()
interface parameters according to Chainlink are the following:.
Regarding The Standard
itself, only the answer
is used on thedistributeAssets
implementation. The retrieved price of the priceFeed can be outdated and used anyways as a valid data because no timestamp tolerance of the update source time is checked while storing the return parameters of atestRoundData()
inside distributeAssets
as recommended by Chainlink in here. The usage of outdated data can have high impact on the protocol and the users
Protocol can make decisions based on not up to date prices, which can cause loses.
Manual Review
add checks on the return value of latestRoundData
to ensure that the price is upto date
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.