# Outstanding loans cannot be closed or liquidated if collateral is paused

Pausing a collateral set collateralValid=false, making closeLoan and callLiquidation revert, trapping user funds and blocking liquidations into bad debt.

- Payout: Contest reward
- Severity: high
- Program: Isomorph
- Credited: HonorLt
- Disclosed: 2022-11-05
- Write-up quality: 6/10
- Original: https://github.com/sherlock-audit/2022-11-isomorph-judging/issues/57
- Library page: https://bugbountylibrary.com/r/sherlock%3A2022-11-isomorph%3AH-6
- Tags: domain:web3 impact:dos impact:funds-loss kind:contest platform:sherlock sev:high tech:solidity technique:source-review vuln:business-logic vuln:dos vuln:liquidation

**Target:** CollateralBook / Vault_Lyra, Vault_Synths, Vault_Velo loan lifecycle
**Root cause:** pauseCollateralType sets collateralValid=false, and closeLoan/callLiquidation gate on collateralValid, so paused collateral makes both revert instead of only blocking new loans.
**Steps:**
1. Admin calls `pauseCollateralType(_collateralAddress, _currencyKey)` which sets `collateralValid[_collateralAddress]=false` and `collateralPaused=true`
2. User with existing loan calls `closeLoan()` on Vault_Lyra/Vault_Synths/Vault_Velo -> reverts due to collateralValid check
3. Liquidator calls `callLiquidation()` on same vaults -> reverts, debt cannot be cleared
**How found:** Code reading of pauseCollateralType and the collateralValid gating in vault closeLoan/callLiquidation paths; noticed pause conflates 'no new loans' with 'invalid collateral'.
**Escalation:** Blocked liquidations accumulate bad debt for the protocol while users cannot recover collateral.
**Insight:** When a governance pause flag is reused as a validity check across multiple entrypoints, audit every consumer of that flag: pause should block opening/increasing exposure, not exits or liquidations.
