# ChainlinkAdapterOracle will return the wrong price for asset if underlying aggregator hits minAnswer

ChainlinkAdapterOracle returns Chainlink's minAnswer circuit-breaker price instead of real price after a crash, letting users borrow against overvalued collateral.

- Payout: Contest reward
- Severity: medium
- Program: Blueberry
- Credited: 0x52
- Disclosed: 2023-02-01
- Write-up quality: 6/10
- Original: https://github.com/sherlock-audit/2023-02-blueberry-judging/issues/18
- Library page: https://bugbountylibrary.com/r/sherlock%3A2023-02-blueberry%3AM-16
- Tags: domain:web3 impact:funds-loss kind:contest platform:sherlock sev:medium tech:evm tech:solidity technique:source-review vuln:accounting-error vuln:oracle-manipulation

**Target:** ChainlinkAdapterOracle / ChainlinkFeedRegistry latestRoundData
**Root cause:** latestRoundData passes through the aggregator answer without checking it against minPrice/maxPrice, so when an asset crashes below the circuit-breaker band the oracle keeps returning minPrice.
**Steps:**
1. Call ChainlinkAdapterOracle.latestRoundData(base, quote) for a crashed asset
2. Observe aggregator returns minPrice (e.g. $1) instead of real price ($0.10)
3. Deposit the crashed asset as collateral valued at minPrice
4. Borrow against inflated collateral value, creating bad debt
**How found:** Code review of ChainlinkAdapterOracle.latestRoundData noting it forwards aggregator answer without bounds check; recalled Venus/LUNA incident where minAnswer caused overvaluation.
**Exploitation:** After a severe price drop (e.g. LUNA-style), attacker deposits the crashed token; oracle still values it at minPrice, enabling borrowing far above true value and leaving protocol with bad debt.
**Escalation:** Chains with secondary oracles: UniswapV3 TWAP near minPrice on the way down matches Chainlink, bypassing the third oracle; or DDOS Band relayers to make Chainlink the sole price source.
**Insight:** When integrating Chainlink, always compare returned answer to the aggregator's minAnswer/maxAnswer and revert; a multi-oracle median does not save you if two sources converge on the clamped price during a crash.
