Closed sherlock-admin closed 1 year ago
3 comment(s) were left on this issue during the judging contest.
141345 commented:
l
darkart commented:
In this scenario it would be a user error but should escalate in my opinion
panprog commented:
invalid because its user input error
tvdung94
medium
Liquidators might mistakenly transfer additional fund to users when liquidating
Summary
Liquidators might mistakenly transfer additional fund to users when liquidating.
Vulnerability Detail
Because liquidation logic does not check if collateral amount is bigger than 0, liquidators who mistakenly input positive value of liquidation fee via update() function will end up transferring their token to liquidated balance instead of claiming token as liquidation fee. Consider this scenario:
Impact
Liquidators will lose fund if they input positive amount of liquidation fee.
Code Snippet
My test (add it under 'long' test suite in Market.test.ts)
Result: already initialized
update
1 passing (12s)
Tool used
Manual Review
Recommendation
The liquidation logic should revert if liquidation fee's value is bigger than 0
From https://github.com/sherlock-audit/2023-07-perennial/blob/main/perennial-v2/packages/perennial/contracts/Market.sol#L475-L483
To