# Users are unable close or add to their Lyra vault positions when price is stale or circuit breaker is tripped

Lyra vault blocks closeLoan and increaseCollateral when price is stale or circuit breaker tripped, freezing collateral and causing unfair liquidations.

- Payout: Contest reward
- Severity: high
- Program: Isomorph
- Credited: 0x52
- Disclosed: 2022-11-05
- Write-up quality: 6/10
- Original: https://github.com/sherlock-audit/2022-11-isomorph-judging/issues/69
- Library page: https://bugbountylibrary.com/r/sherlock%3A2022-11-isomorph%3AH-5
- 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:oracle-manipulation

**Target:** Vault_Lyra.sol collateral activity check
**Root cause:** _checkIfCollateralIsActive is called unconditionally on every vault interaction, requiring fresh price and inactive circuit breaker even for actions that reduce risk (full repayment, adding collateral).
**Steps:**
1. Call closeLoan or increaseCollateralAmount while Lyra getTokenPriceWithCheck returns isStale=true or circuitBreakerExpiry >= block.timestamp
2. require(!isStale) and require(circuitBreakerExpiry < block.timestamp) revert
3. User cannot repay debt or add collateral, accruing interest and risking liquidation
**How found:** Code review of Vault_Lyra._checkIfCollateralIsActive noting the check runs on all interactions including risk-reducing ones.
**Insight:** When a price/circuit-breaker guard gates a vault, check whether risk-reducing actions (full repay, collateral top-up) are also gated; those should bypass the oracle check since they can only improve collateralization.
