Hacks / Statistics / Q4 2022

Q4 2022 Exploit Report

October–December 2022: 60 reproduced exploits, $63M in stated losses.

60 exploits from October–December 2022 are reproduced in the library, 29 more than in Q3 2022. 54 of them state a dollar loss, $63M in total, against $161M the quarter before. Access Control was the most common root-cause category, on 31 of the 60 incidents (52%). BNB Chain had the most incidents (35), while Ethereum carried the largest stated losses ($28.3M). The largest stated loss was Transit Finance Exploit at $21M, 33% of the quarter's stated total.

Incidents

60

31 in Q3 2022.

Stated losses

$63M

54 of 60 incidents state a dollar figure. $161M in Q3 2022.

Largest stated loss

$21M

Transit Finance Exploit

Most common root cause

Access Control

On 31 of 60 incidents.

Root causes

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

Access Control31Logic25Oracle Manipulation19Dependency10Arithmetic7DeFi7Reentrancy7Governance6Untagged2Authentication1

An incident with two categories counts under both.

View as table
CategoryIncidentsStated losses
Access Control31$43.6M
Logic25$44.5M
Oracle Manipulation19$10.3M
Dependency10$5.1M
Arithmetic7$10.7M
DeFi7$482K
Reentrancy7$5M
Governance6$1.8M
Untagged2$541K
Authentication1—
Input Validation1$3.6K

Chains

Where the exploited contracts were deployed.

BNB Chain35Ethereum18Avalanche4Polygon2Arbitrum1
View as table
ChainIncidentsStated losses
BNB Chain35$25.4M
Ethereum18$28.3M
Avalanche4$2.7M
Polygon2$181K
Arbitrum1$6.5M

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
Transit Finance ExploitBNB Chain$21M
Team Finance ExploitEthereum$15.8M
Lodestar Finance ExploitArbitrum$6.5M
DFX Finance ExploitEthereum$4M
Multichain (Anyswap) anySwapOutUnderlyingWithPermitEthereum$3M

Every incident of the quarter

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

IncidentStated loss
Transit Finance ExploitArbitrary transferFrom via Unvalidated Swap Owner$21M
Team Finance Exploitmigrate() Burns Other People's Locked LP via an Unvalidated pair Parameter$15.8M
Lodestar Finance ExploitplvGLP Oracle Inflation Drains the Lending Pools$6.5M
DFX Finance ExploitReentrancy via Unguarded flash() Inflates LP Share Mint$4M
Multichain (Anyswap) anySwapOutUnderlyingWithPermitMissing-permit Allowance Theft$3M
TempleDAO StaxLPStaking ExploitAccess-Control-Free migrateStake() Pool Drain$2.3M
UEarnPool ExploitSelf-Referral claimTeamReward() Inflation Drain$2.2M
Overnight Finance USD+ ExploitNAV Inflation via Synapse Stable-Pool Manipulation$1.6M
Rubic Exchange ExploitArbitrary External Call Drains User Allowances$1.5M
ElasticSwap ExploitInternal-Reserve Manipulation Drains the TIC/USDC.e AMM$850K
EFLeverVault ExploitDirect flashLoan(0x2) Inflate-Balance Drain$640K
Nimbus Platform ExploitFlash-Loan AMM Spot-Price Manipulation of Staking Rewards$370K
OlympusDAO BondFixedExpiryTeller ExploitUnverified Bond-Token in redeem() Drains the Teller$292K
RES Token ExploitPermissionless thisAToB() Pool-Reserve Burn Breaks x·y = k$291K
RES Token ExploitSelf-Burn-From-Pool + sync() Breaks the AMM Invariant$291K
ULME Token ExploitPermissionless buyMiner() Spends Anyone's Pre-Approved USDT$251K
ULME Token ExploitPermissionless buyMiner() Spends Victims' USDT Allowances$251K
0x0000…a47b1 MEV Bot ExploitUnauthenticated receiveFlashLoan Drains Idle WETH$245K
Rabby Wallet SwapRouter ExploitArbitrary External Call Drains Pre-Approved User Funds$200K
Market.xyz / Hundred-clone ExploitCurve LP Read-Only Reentrancy Inflates Collateral Price$180K
Defrost Finance lendingSwitchErc20 ExploitReentrant Flash-Loan Share Inflation$174K
Beefy "Moo CAKE CTX" Vault ExploitHarvest-Sandwich Reward Theft$142K
ATK ("Journey of Awakening") ExploitSpot-Price getPrice() Manipulation via Flash-Loaned Reserve Drain$127K
Abracadabra / Kashi Cauldron ExploitSelf-Liquidation Against a Stale Exchange Rate$99K
MEV Bot 0x0AD8…afd4Arbitrary-Call Router Drains a Victim's Standing USDC Approval$91.6K
SheepFarm ExploitFree-Gem Mint via Repeatable register()$80K
Brahma Finance (BrahTOPG) Zapper ExploitArbitrary call Drains User Approvals$79.7K
AES (AEST) ExploitFee-Accumulator distributeFee() Drains the AMM Pair$61.6K
VTF (Victor the Fortune) ExploitCompounding Time-Based Mint via Self-Service updateUserBalance()$58.4K
MUBank ExploitFlash-Swap Manipulation of Reserve-Dependent Bond Pricing$48.7K
Carrot Token ExploitArbitrary transReward() Hijacks the Reward Pool to Bypass transferFrom Allowance$31.3K
FPR Token ExploitPublic setAdmin() Hijack Drains FPR Distributor Contracts + LP$28.1K
n00d (SushiBar fork) ExploitERC777 Reentrancy via Stale totalSushi Share Inflation$26K
PLTD Exploit_bron Sell-Accumulator Burns From the Pool, Breaking x·y = k$24.5K
BabySwap SwapMining ExploitRouter-Reported Swap Volume Forged via a Fake Factory$24.2K
TiFi Finance ExploitSpot-Price Oracle Manipulation of a Lending Pool$24K
INUKO / SIG Bond ExploitFlash-Loan LP Mispricing via balanceOf-based Valuation$18.4K
BGLD (BlackGold) ExploitMigration-Contract Inflation + AMM Reserve Manipulation$18.1K
Aurum Finance (AUR) ExploitUnprotected changeRewardPerNode() Drains the Node-Reward Pool$13.4K
sDAO ExploitStaking-Reward Accounting Manipulation via Self-Inflated totalStakeReward + Shrunken Reward Divisor$13.2K
BBOX Token ExploitFee-Engine Burns Tokens Out of the LP Pair and sync()s$10.8K
RL (RealLand) ExploitLP-Incentive Airdrop Drained via Reusable LP Position$9.1K
SEAMAN ExploitForced Tax-Swap Routed Through a Thin GVC Pool (Price Manipulation)$7.8K
APC (ArenaPlay) ExploitSpot-AMM-Price Swap Drained via Flash-Loan Pump & Dump$7.6K
MBC / ZZSH ExploitPublic swapAndLiquifyStepv1() Lets an Attacker Inject the Token's Own Accumulated Fees Into the Pool Reserve$5.9K
BDEX (Bvaults) ExploitPermissionless convertDustToEarned() Sandwiched into a No-Slippage Pool Swap$4.6K
HEALTH Token ExploitPermissionless Per-Transfer Pool-Reserve Burn$3.7K
RFB (Roast Football) ExploitBrute-Forceable On-Chain "Lucky Buyer" Jackpot Drain$3.6K
MEV Bot 0x28d9 ExploitFlash-Loan Callback Hijack via Attacker-Controlled assetTo$2.7K
UERII Token ExploitPublic, Unauthenticated mint() Inflates Supply and Drains the Liquidity Pool$2.5K
DFS Exploit_transfer Accounting Gap Let skim() Self-Loop Mint DFS Out of Thin Air$1.4K
Polynomial Protocol ExploitArbitrary swapTarget.call Drains Pre-Approved User Funds$1.4K
SheepFarm ExploitFree Gems via Repeatable register()$880
Multicall multicallWithoutCheck()Unauthenticated Arbitrary-Call Drain$620
Annex Finance Liquidator ExploitUnauthenticated Flash-Swap Callback Drains the Contractnot in dollars
BEGO (BGeoToken) ExploitSignature-Gated mint() Bypassed With Empty Signature Arraysnot in dollars
HPAY (Hedge Pay) ExploitUnprotected setToken() Lets Anyone Restake Junk and Withdraw Real HPAYnot in dollars
JAY Token ExploitReentrancy via Attacker-Controlled "ERC721" Callback in buyJaynot in dollars
Nova Exchange ExploitOwner-Only Unlimited Mint via rewardHolders()not in dollars
Xave Finance ExploitSafeSnap / Reality DaoModule Permissionless Governance Takeovernot 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.