the KittyVault.sol
smart contract doesn’t check whether that price data sent by chainlink pricefeeds is stale.
If Chainlink pricefeed
returns pricing data that is stale,KittyVault::getTotalMeowllateralInAave
and KittyVault::getUserVaultMeowllateralInEuros
will execute with prices that don’t reflect the current pricing of the asset, and this result in a potential loss of funds for the user and/or the protocol.
Loss of funds for the protocol if a wrong high price is used to check for the assets pricing as this may lead to not liquidating users
that may be liquidatable
Loss of funds for protocol users is wrong low price is used in KittyVault::getUserVaultMeowllateralInEuros
manual review
chainlink documentation
check the updatedAt
parameter returned from latestRoundData()
and compare it to a staleness threshold(heartbeat) specified in the chainlink docs.
e.g for BTC/USD
, the heartbeat is 3600s
i.e.1 hour, hence do the check like this...
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.