Some calls to Oracles don't check for stale prices.
Some of the oracle calls do not check for stale prices:
https://github.com/Cyfrin/2023-12-the-standard/blob/91132936cb09ef9bf82f38ab1106346e2ad60f91/contracts/LiquidationPool.sol#L207
https://github.com/Cyfrin/2023-12-the-standard/blob/91132936cb09ef9bf82f38ab1106346e2ad60f91/contracts/LiquidationPool.sol#L218
Oracle price feeds can become stale due to a variety of reasons.
These prices are used to calculate costInEuros
during the liquidation. Which is used to calculate _portion
, which is used to save rewards
amount. Stale prices will lead to higher amount of Euros burned or to too much rewards.
Too much euros will be burned during liquidation or too much rewards will be given to a stacker which is essentially loss of funds
Manual review
Consider checking when the price was updated, compare it with feed's heartbeat
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.