The LiquidationPool::distributeAssets
function uses Chainlink.AggregatorV3Interface
as a price oracle for Chainlink feeds in Arbitrum L2. However, it lacks a check to determine if the Arbitrum L2 sequencer is down. This check is crucial to ensure that prices do not appear to be fresh when the sequencer is unavailable.
The absence of a check for the Arbitrum L2 sequencer being down in the LiquidationPool::distributeAssets
function could lead to inaccurate asset distribution. Prices retrieved from Chainlink feeds may not reflect the actual market conditions if the sequencer is down.
The vulnerability could result in incorrect asset distribution within the LiquidationPool::distributeAssets
function when using Chainlink feeds on Arbitrum L2.
Manual Review
It is recommended to implement a check for the Arbitrum L2 sequencer status before fetching prices from Chainlink feeds. The example code provided by Chainlink documentation for L2 sequencer feeds can be referenced for guidance: Chainlink L2 Sequencer Feeds Example Code. This modification will ensure that the system only relies on Chainlink prices when the sequencer is operational, preventing inaccurate asset distribution.
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.