# Target raises can be highly damaging for dutch auctions with multiple components

Index AuctionRebalanceModuleV1 target raises on multi-component dutch auctions leave stale auction prices, causing SetToken to buy components above market and lose NAV.

- Payout: Contest reward
- Severity: medium
- Program: Index
- Credited: 0x52
- Disclosed: 2023-06-20
- Write-up quality: 6/10
- Original: https://github.com/sherlock-audit/2023-06-Index-judging/issues/45
- Library page: https://bugbountylibrary.com/r/sherlock%3A2023-06-Index%3AM-6
- Tags: domain:web3 impact:funds-loss kind:contest platform:sherlock sev:medium tech:evm tech:solidity technique:source-review vuln:accounting-error vuln:business-logic

**Target:** AuctionRebalanceModuleV1 raiseAssetTargets / dutch auction pricing
**Root cause:** raiseAssetTargets increases component targets without resetting rebalanceStartTime, so auction price curves continue from their prior (now stale) position rather than repricing for the new buy direction.
**Steps:**
1. Configure SetToken with multiple components (e.g. USDC/WBTC/WETH) and a nonzero raiseTargetPercentage.
2. startRebalance with USDC as quote; components execute at different times along their price curves.
3. One component (WETH) fills early; WBTC fills late at 12h.
4. Excess quote remains and all targets met, so raiseAssetTargets is called, flipping auctions to buy direction.
5. Because rebalanceStartTime is not reset, the WETH auction price is now well above market, so the SetToken buys WETH at a loss.
**How found:** Reasoned about the interaction between raiseAssetTargets and multi-component dutch auction price curves: since targets can be raised mid-auction without resetting the start time, price curves no longer reflect current market, producing skewed pricing.
**Exploitation:** Manager/operator (or any allowed bidder triggering target raise) causes the SetToken to purchase components at stale, above-market auction prices, leaking NAV to bidders.
**Insight:** When a dutch auction flips from sell to buy via a target raise, the price curve is not re-anchored; check whether any parameter change mid-auction leaves stale pricing that lets bidders extract value from the protocol.
