Some of the liquidation of vault processes transfer ERC-20 tokens to the protocol address which is immutable and set at deployment. In the case this wallet gets blacklisted or blocked by tokens with blacklist ability like USDC, this can lead to a DOS of vault liquidations that can't happen in the case of under-collateralised vaults that need to be off-boarded.
For example when Circle blacklists an address, they revoke the addresses' ability to send or receive funds which happens via a revert of any such transaction.
Some logic of the vault liquidations withdraw funds to the protocol address which could potentially be blacklisted.
In the case when such a revert occurs, the vault liquidation of a user fails and remains under-collateralized if liquidating to balance the collateral ratio. This could potentially last a long time if not forever and would only become open to liquidations when Circle removes the block from the protocol address.
Take a look at this scenario:
The protocol address is blacklisted by Circle
A vault or multiple vaults become under-collateralised needing to be off-boarded.
Liquidation run is attempted and manager calls the liquidateVault function of the SmartVaultV5 contract passing the tokenId as an identifier for a specific vault.
The vault is certainly under-collateralised, minting & burning roles of the vault for EUROs is revoked. runLiquidation() is returned to. Every other process of the execution path is fine.
forwardRemainingRewards attempts to transfer USDC to the protocol.
It reverts. The whole liquidation run reverts.
The vault remains open and under-collateralised.
You can't just simply change the protocol address to add a new one which is not blacklisted and continue vault liquidations.
DoS of the entire liquidation of under-collateralised vaults as the protocol can no longer receive tokens (USDC) until the blacklist is removed which could potentially take forever.
Manual review
Enable the ability to set/reset the protocol address. This ability will be restricted to access controls requiring an admin to set/reset.
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.