https://github.com/code-423n4/2024-05-predy/blob/a9246db5f874a91fb71c296aac6a66902289306a/src/PriceFeed.sol#L45-L58
This function returns the square root of the baseToken price quoted in quoteToken, and this data is queried when checking if the vault is in danger in order to liquidate it, with needing a confirmation via PositionCalculator.isLiquidatable().
The problem, however, is that Chainlinks latestRoundData is being queried, but this call lacks error handling for the potential failure of source.latestRoundData() which could fail due to the call to oracle.latestRoundData(). Note that Chainlink pricefeeds could revert due to whatever reason, i.e., say maintenance or maybe the Chainlink team decide to change the underlying address. Now this omission of not considering this call failing would lead to systemic issues, since calls to this would now revert halting any action that requires this call to succeed.
Borderline medium/low, as this essentially breaks core functionalities like liquidating and whatever requires for the usd value of an asset to be queried since there would be a complete revert.
Considering protocol plans to support a lot of tokens this would to be a problem as multiple tokens would have their source feeds aggregators with this min/max circuit breakers and as such it should be checked for an asset that has it, since this has quite a high impact with a low likelihood, but would be key to note that this has happened before with LUNA.
Wrap the .latestRoundData() call in a try-catch block, then handle the error (e.g., revert with a specific message or use an alternative pricing method). The latter is a better fix as it ensures the protocol still functions as expected on the fallback oracle.
