Osmosis Hack
What happened
Osmosis liquidity pools over-issued LP shares because of a calculation error in the liquidity-joining logic. Exploiters deposited assets and immediately redeemed the inflated share balances for more assets than they had supplied. Validators halted the chain, and Osmosis announced plans to cover losses from strategic reserves.
MaximalExactRatioJoin multiplied a share ratio by the user's input tokens instead of total pool liquidity. This understated used tokens, overstated remaining tokens and caused additional LP shares to be issued for liquidity already accounted for.
How it happened
- An exploiter joined a pool with assets such as USDC and OSMO.
- MaximalExactRatioJoin understated the tokens consumed by the proportional deposit.
- The code treated the overstated remainder as additional liquidity and issued extra shares.
- The exploiter exited with those shares and repeated the deposit-and-withdrawal cycle to extract pool assets.
Protocol details
Evidence
- report @osmosiszone incident report twitter.com
- report @osmosiszone incident report twitter.com
- analysis DeFiLlama defillama.com
- analysis Osmosis Incident Analysis certik.com
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.