Cetus CLMM Hack

Reported loss $223.0M
Sui
Integer Overflow in Liquidity Accounting

What happened

On May 22, 2025, Cetus's Sui concentrated-liquidity market maker was exploited through faulty arithmetic in a shared Move library. The attacker inflated position liquidity with minimal deposits and drained reserves from multiple CLMM pools. Cetus reported approximately $223 million taken before the contracts were paused.

Technical root cause

Cetus attributed the flaw to inter_mate's checked_shlw helper. Its overflow guard used a 256-bit limit where this liquidity calculation required a 192-bit bound, allowing an unsafe left-shifted value to pass validation and corrupt liquidity accounting. Cetus specifically said this was unrelated to the previously reported MAX_U64 issue.

How it happened

  1. The attacker used a flash swap to temporarily suppress pool prices, then opened a liquidity position in a selected tick range.
  2. A faulty overflow check let add_liquidity record an artificially large liquidity amount despite a minimal token contribution.
  3. The attacker repeatedly removed liquidity against that false balance to extract pool reserves.

Protocol details

Classification Arithmetic Error / Exchange (DEX)
Protocol Type DEX
Implementation language Move
Protocol links Website @cetusprotocol

Build your security review skills

Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.