Direct theft of any user funds, whether at-rest or in-motion, other than unclaimed yield
Description
Brief/Intro
setMinimumCollateralization never enforces that the new collateralization is lower than the current which means that it can be set to a higher number which will cause users near the previous threshold to get instantly liquidated unfairly
Vulnerability Details
setMinimumCollateralization in the Alchemist is implemented as follows:
It only enforces that the current minimumCollateralization is more than 100% to allow the system to be overcollateralized at all times.
It does not valdiate however that the new number is lower than the previous. This allows for increase of minimumCollateralization which worsens the health of all current positions and making them instantly, unfairly liquidatable. Even if the admin is trusted, this should never be allowed to happen as it can cause unfair losses to the users. Especially if the delta between the old and the new ratio is large, and minimumCollateralization is increased substancially, this can essentially cause losses to all users who have already borrowed from the system.
Impact Details
An increase in minimumCollateralization can make some or even all of users' positions instantly liquidatable and cause loss of funds to users. An admin should never have this option. Not increasing the current LTV is a well known best practice.