# Bidders can not claim their bids if the auction creator claims the proceeds.

Axis Finance auction creator claiming proceeds flips lot status to Claimed, permanently blocking bidders from claiming bids and locking their quote funds.

- Payout: Contest reward
- Severity: high
- Program: Axis Finance
- Credited: cu5t0mPe0
- Disclosed: 2024-03-14
- Write-up quality: 6/10
- Original: https://github.com/sherlock-audit/2024-03-axis-finance-judging/issues/67
- Library page: https://bugbountylibrary.com/r/sherlock%3A2024-03-axis-finance%3AH-5
- Tags: domain:web3 impact:dos impact:funds-loss kind:contest platform:sherlock sev:high tech:evm tech:solidity technique:source-review vuln:access-control vuln:business-logic

**Target:** EMPAM auction module claimBids/claimProceeds state machine
**Root cause:** claimProceeds sets auction status to Claimed, but claimBids requires status Settled, and status can never transition back from Claimed.
**Steps:**
1. Create lot, start auction, place bids, conclude, submit private key, decrypt, settle.
2. Call `_module.claimProceeds(_lotId)` as auction house; status becomes Claimed.
3. Call `_module.claimBids(_lotId, bidIds)`; reverts with `Auction_WrongState`.
4. Bidder quote funds remain locked in auction house.
**How found:** Code reading of the auction status state machine: noticed claimBids gated by _revertIfLotNotSettled while claimProceeds overwrites status to Claimed with no reverse transition, then wrote a Foundry test to confirm the revert.
**Exploitation:** Auction creator calls claimProceeds after settlement before bidders claim; bidders' claimBids then reverts permanently, locking their quote tokens in the auction house.
**Insight:** In auction/escrow state machines, check whether any terminal state transition is one-way and whether other actors' withdrawal paths are gated on the pre-transition state; ordering-independent claims must not share a mutable status flag.
