-
Notifications
You must be signed in to change notification settings - Fork 6
xiaoming90 - It may be possible to liquidate on behalf of another account #215
Comments
Valid issue, the fix will be made in BaseStrategyVault. It's unclear how this would be done in |
Escalate for 10 USDC. Severity is high because this force liquidator to liquidate the position they are not willing to and make the liquiditator lose fund |
You've created a valid escalation for 10 USDC! To remove the escalation from consideration: Delete your comment. You may delete or edit your escalation comment anytime before the 48-hour escalation window closes. After that, the escalation becomes final. |
Result: |
Escalations have been resolved successfully! Escalation status:
|
Fixed in: notional-finance/leveraged-vaults#55 |
@0xleastwood + @xiaoming9090 : Verified. Fixed in PR notional-finance/leveraged-vaults#55 |
xiaoming90
medium
It may be possible to liquidate on behalf of another account
Summary
If the caller of any liquidation action is the vault itself, there is no validation of the
liquidator
parameter and therefore, any arbitrary account may act as the liquidator if they have approved any amount of funds for theVaultLiquidationAction.sol
contract.Vulnerability Detail
While the vault implementation itself should most likely handle proper validation of the parameters provided to actions enabled by the vault, the majority of important validation should be done within the Notional protocol. The base implementation for vaults does not seem to sanitise
liquidator
and hence users could deleverage accounts on behalf of a liquidator which has approved Notional's contracts.https://github.com/sherlock-audit/2023-03-notional-0xleastwood/blob/main/contracts-v2/contracts/external/actions/VaultLiquidationAction.sol#L197-L237
Impact
A user may be forced to liquidate an account they do not wish to purchase vault shares for.
Code Snippet
https://github.com/notional-finance/leveraged-vaults/blob/master/contracts/vaults/BaseStrategyVault.sol#L204-L216
Tool used
Manual Review
Recommendation
Make the necessary changes to
BaseStrategyVault.sol
or_authenticateDeleverage()
, whichever is preferred.The text was updated successfully, but these errors were encountered: