The StabilityPool contract allows designated managers to initiate liquidation processes for borrowers whose loans are undercollateralized or otherwise at risk. However, the current implementation does not explicitly prevent a manager from initiating the liquidation of their own debt. This oversight could potentially allow a manager to manipulate the liquidation process to their advantage, especially if they can influence the conditions under which their own debt is liquidated.
The ability for a manager to liquidate their own debt introduces several risks:
Conflict of Interest: Managers could manipulate liquidation terms or timing to minimize their losses or maximize their gains at the expense of other protocol participants.
Financial Exploitation: If managers can affect the price or other critical parameters, they might liquidate their positions under favorable conditions, potentially leading to losses for the protocol or other users.
Loss of Integrity and Trust: Allowing managers to liquidate their own debts undermines the trustworthiness and integrity of the lending platform, as users may perceive the platform as being susceptible to insider manipulation.
Restrict Self-Liquidation : Modify the liquidateBorrower() function to prevent managers from initiating the liquidation of their own debts. This can be achieved by adding a check to ensure that msg.sender is not equal to userAddress.
Here’s a proposed modification to the liquidateBorrower() function:
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.