# Funds can be stolen from the `FixedStrikeOptionTeller` contract by creating put option tokens without providing collateral

Rounding in FixedStrikeOptionTeller.create lets put options be minted for zero quote collateral, then reclaimed to drain other issuers' collateral.

- Payout: Contest reward
- Severity: medium
- Program: Bond
- Credited: berndartmueller
- Disclosed: 2023-06-26
- Write-up quality: 6/10
- Original: https://github.com/sherlock-audit/2023-06-bond-judging/issues/61
- Library page: https://bugbountylibrary.com/r/sherlock%3A2023-06-bond%3AM-1
- Tags: domain:web3 impact:funds-loss kind:contest platform:sherlock sev:medium tech:solidity technique:source-review vuln:accounting-error vuln:precision-loss

**Target:** FixedStrikeOptionTeller.create put option issuance
**Root cause:** quoteAmount = amount_.mulDiv(strikePrice, 10**payoutToken.decimals()) rounds down to zero when amount*strikePrice < 10^decimals, so no collateral is pulled but option tokens are still minted.
**Steps:**
1. Deploy a put option token with quote token USDC (6 dec) and payout token GMX (18 dec), strikePrice 50e6, short expiry
2. Call `create(optionToken, 1e10)`; quoteAmount = 1e10*50e6/1e18 = 0, so `safeTransferFrom` moves 0 quote tokens
3. Repeat create to accumulate free option tokens
4. After expiry call `reclaim` to withdraw quote collateral supplied by other issuers
**How found:** Code review of the put-option branch in create; noticed mulDiv rounding and reasoned that small amount_ makes numerator smaller than 10^decimals, yielding zero collateral.
**Exploitation:** Attacker deploys own put option token, mints free options via zero quoteAmount rounding, waits for expiry, then reclaims quote collateral funded by legitimate issuers of the same quote token, draining them and undercollateralizing their options.
**Escalation:** Repeat minting and reclaim across option tokens to scale drained collateral.
**Insight:** In share/option minting math, check whether amount*price/10^decimals can round to zero for small amounts; zero-cost minting plus a reclaim/withdraw path turns precision loss into collateral theft from other depositors.
