Hacks / Statistics / Q2 2023

Q2 2023 Exploit Report

April–June 2023: 60 reproduced exploits, $74.1M in stated losses.

60 exploits from April–June 2023 are reproduced in the library, 23 more than in Q1 2023. 55 of them state a dollar loss, $74.1M in total, against $324M the quarter before. Logic was the most common root-cause category, on 42 of the 60 incidents (70%). BNB Chain had the most incidents (36), while Ethereum carried the largest stated losses ($43.9M). The largest stated loss was Compounder Finance Exploit at $27.2M, 37% of the quarter's stated total.

Incidents

60

37 in Q1 2023.

Stated losses

$74.1M

55 of 60 incidents state a dollar figure. $324M in Q1 2023.

Largest stated loss

$27.2M

Compounder Finance Exploit

Most common root cause

Logic

On 42 of 60 incidents.

Root causes

How many of the quarter's incidents carry each category.

Logic42Oracle Manipulation28Access Control20DeFi14Governance8Reentrancy6Arithmetic4Dependency4Data Integrity2Untagged2

An incident with two categories counts under both.

View as table
CategoryIncidentsStated losses
Logic42$34.7M
Oracle Manipulation28$52.3M
Access Control20$7.3M
DeFi14$1.8M
Governance8$41.8M
Reentrancy6$37.2M
Arithmetic4$8.1M
Dependency4$10.8M
Data Integrity2$266K
Untagged2$833K
Input Validation1$1M

Chains

Where the exploited contracts were deployed.

BNB Chain36Ethereum15Arbitrum5Polygon3Base1
View as table
ChainIncidentsStated losses
BNB Chain36$12.9M
Ethereum15$43.9M
Arbitrum5$7.8M
Polygon3$2.1M
Base1$7.4M

Largest stated losses

The 5 incidents of the quarter with the largest stated loss. Select a bar to open the write-up.

View as table
IncidentChainStated loss
Compounder Finance ExploitEthereum$27.2M
Yearn / iEarn yToken ExploitEthereum$11.5M
BabyDoge FarmZAP ExploitBNB Chain$7.5M
Hundred Finance #2 ExploitBase$7.4M
DEI Stablecoin ExploitArbitrum$5M

Every incident of the quarter

Largest stated loss first. Each opens the root-cause write-up and the runnable replay.

IncidentStated loss
Compounder Finance ExploitInflatable Share Price via Curve get_virtual_price() Manipulation$27.2M
Yearn / iEarn yToken ExploitAPR-Oracle Routing + bZx Donation Inflates Price-Per-Share for ~$11.5M$11.5M
BabyDoge FarmZAP ExploitUntrusted farm Callback Lets Anyone Drain Swapped Tokens$7.5M
Hundred Finance #2 ExploitEmpty-Market Exchange-Rate Inflation Drains Every Pool$7.4M
DEI Stablecoin ExploitburnFrom() Grants the Caller Infinite Allowance, Draining the DEI/USDC Pair$5M
Sushi RouteProcessor2 ExploitAttacker-Controlled "Pool" Drains Approved Tokens via uniswapV3SwapCallback$3.3M
0VIX Protocol ExploitvGHST Oracle Manipulation via Balance Donation$2M
Level Finance ExploitDuplicate-Epoch claimMultiple() Reward Multiplication$1M
Sentiment Protocol ExploitBalancer Read-Only Reentrancy Inflates LP-Collateral Price$1M
Pawnfi ApeStaking ExploitUnrestricted collectRate + Vault-Funded Staking Drains the P-BAYC ApeCoin Reserve$820K
Sturdy Finance ExploitBalancer Read-Only Reentrancy Inflates LP-Token Collateral Price$800K
Paribus Finance ExploitCompound V2 Fork redeemFresh Cross-Market Reentrancy$790K
CS Token ExploitStale Global sellAmount Drives an Attacker-Triggerable Pool Burn$684K
Jimbo Protocol ExploitTraderJoe LB Rebalance Manipulation & Floor-Price Decoupling$639K
Midas Capital ExploitcToken Exchange-Rate Inflation via Donation Into a Near-Empty Market$600K
Allbridge Core ExploitStableSwap withdraw() Symmetric-Burn Drain via Flash-Loan-Induced Imbalance$550K
Allbridge ExploitStableSwap LP Mispricing via Self-Imbalanced Pools$550K
Themis Protocol ExploitManipulable Balancer-LP (BPT) Price Oracle Enables Over-Borrowing$370K
DDCoin (DD) Marketplace ExploitSelf-Granted Allowance Lets the Seller Drain the Escrow Twice$300K
SHIDO Migration ExploitclaimTokens() Blind × 10⁹ Decimal Scaling Drains the Reward Wallet$283K
SHIDO ExploitShidoLock Migration Mint With No Eligibility Check$230K
Goldseed landNFT ExploitUnprotected Minter Forwarder Lets Anyone Free-Mint 200 Land NFTs$150K
ARA ExploitPermissionless "Swap-on-Behalf" Helper Drains a Pre-Approved Address via Pool Price Manipulation$125K
LocalTraders (LCT) ExploitUnprotected Price-Oracle Initializer Drains the LCT/WBNB Pool$120K
ERC20TokenBank / ExchangeBetweenPools ExploitZero-Slippage Curve Swap Sandwich$112K
LocalTrader2 (LCT) ExploitUnprotected Proxy Implementation Lets Anyone Set the Token Price to 1 wei$110K
Vortex DEPUSDT / LEVUSDC ExploitPublic approveToken() → Arbitrary Reserve Drain$106K
BabyDogeCoin ExploitSandwiching the Token's Slippage-Free swapAndLiquify$100K
SELLC / StakingRewards ExploitPermissionless sell() Drains Staked LP Tokens via a Self-Created Price Oracle$95K
Melo (MEL) ExploitUnprotected mint() → Infinite-Supply Pool Drain$90.5K
Cellframe Network ExploitManipulated Reserve Ratio in LpMigration.migrate()$76K
NeverFall (NF) Exploitsell() Over-Redeems LP Against a Pre-Crashed Pool Reserve$74.3K
Biswap V3Migrator ExploitArbitrary recipient LP Theft via Unauthorized migrate()$72K
LW Token ExploitSpot-Price Oracle Manipulation Drains Protocol "Buyback" Treasury into the LP, Then Drains the LP$50K
LFI / VLFI ExploitclaimRewards() Reward-Debt Reset via Botched cleanUserMapping Migration$36K
Bitpaidio (BTP) Staking ExploitStale-Lock Reinvest Bug Enables Instant Flash-Loaned Staking ROI$30K
SellToken miner ExploitSpot-Price Reward Oracle Drained via Flash-Loaned Liquidity$30K
NST Swap ExploitDangling approve() lets the buyer drain the swap contract's USDT reserves$29.2K
MetaPoint (POT) ExploitPermissionless approve() on User-Wallet Contracts Drains Holder Balances$24K
Contract 0x7657… ExploitPermissionless transferFrom-Drain of Standing Approvals$20K
GPT Token ExploitDeflationary transfer-Hook + skim() Pool Drain$20K
Multi-Chain Capital ($MCC) ExploitReflection-Rate Inflation via deliver() + skim()$19K
Abracadabra / MIM ZeroXStargateLPSwapper ExploitArbitrary-Calldata Approval Drain$17K
CFC ExploitSelf-Burning sync() + skim() Reserve Drain$16K
UN Token ExploitFee-on-swap-out + skim() Reserve Drain$13.4K
Bunny Protocol (BUNN) ExploitReflection deliver() Inflates Pair Balance, Spoofing the AMM K-Check$12K
OceanLife (OLIFE) ExploitReflection-Rate Collapse Inflates the Pool's Token Balance$9.7K
Axioma (AXT) ExploitMispriced Presale Sells Tokens Far Below the AMM Market Price$6.4K
Viral Inu (VINU) ExploitPermissionless addLiquidityETH() Drains Pool's Own Token Reserve$6K
Unverified Staking Contractclaim() Double-Spend of Deposited BUSD$6K
HODL Capital ExploitReflection-Rate Manipulation via deliver() Drains the Uniswap Pair$4.3K
NOON (NO) ExploitPublic _transfer() Lets Anyone Drain the AMM Pool For Free$2K
SellToken ExploitSpot-Price Oracle Manipulation of a Leveraged "Short" Exchange$1K
FAPEN (Father Pepe Inu) Exploitunstake() Mints Free Tokens via Backwards Balance Check$600
STRAC ExploitPermissionless Token-Drainer in a Helper Contract (Spoofable transferFrom)$13
MyAi (CoinToken) ExploitMultiSender Lets Anyone Spend a Victim's Pre-Approved Allowance Into a Hyper-Thin Poolnot in dollars
SELLC / QIQI StakingRewards ExploitAttacker-Chosen Reward-Valuation Token Drains the Reward Poolnot in dollars
Silo Finance Logic-Error ExploitInterest-Rate Manipulation Drains the Entire XAI Market for ~$0not in dollars
SNK Miner ExploitInflated Referral Reward via Just-In-Time Child Stakingnot in dollars
Swapos V2 Pair ExploitBroken k-Value Invariant Lets 10 wei of WETH Drain ~98% of the Pool's SWPnot in dollars

A loss is the first dollar figure the write-up states, often for the reproduced transaction and sometimes for the whole campaign. The library counts exploits reproduced here, not every incident in the industry. How these numbers are made.