Submitted by severity
Function price() of an asset doesnt revert. It returns values (0, FIX_MAX) for low, high values of price in case theres a problem with fetching it. Code that calls price() is able to validate returned values to detect that returned price is incorrect.
Inside function collateralShortfall() of RecollateralizationLibP1 collateral price isnt checked for correctness. As a result incorrect value of shortfall might be calculated if there are difficulties to fetch a price for one of the collaterals.
https://github.com/reserve-protocol/protocol/blob/df7ecadc2bae74244ace5e8b39e94bc992903158/contracts/p1/mixins/RecollateralizationLib.sol#L449
Check that price is correctly fetched for a collateral.
0xean (judge) commented:
tbrent (Reserve) acknowledged and commented:
tbrent (Reserve) mitigated:
Status: Mitigation confirmed with comments. Full details in reports from HollaDieWaldfee, 0xA5DF, and AkshaySrivastav.
